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

#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "backend.h"
#include "predict.h"
#include "rtl.h"
#include "memmodel.h"
#include "tm_p.h"
#include "emit-rtl.h"
#include "insn-config.h"
#include "recog.h"
#include "output.h"
#include "flags.h"
#include "df.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 parameter 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_insn *gen_split_1 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_3 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_4 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_5 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_6 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_7 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_8 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_9 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_10 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_11 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_12 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_13 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_14 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_15 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_16 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_17 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_1 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_2 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_18 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_19 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_20 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_3 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_4 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_21 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_22 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_23 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_24 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_25 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_26 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_27 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_28 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_29 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_30 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_31 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_32 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_33 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_34 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_35 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_36 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_37 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_38 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_39 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_40 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_41 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_42 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_43 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_44 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_45 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_46 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_47 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_48 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_49 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_50 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_51 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_52 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_5 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_6 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_53 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_54 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_55 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_56 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_57 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_58 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_59 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_60 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_7 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_61 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_8 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_62 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_63 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_64 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_65 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_66 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_67 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_68 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_9 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_10 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_11 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_12 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_69 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_70 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_71 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_72 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_73 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_74 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_75 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_76 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_77 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_78 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_79 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_80 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_81 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_82 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_83 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_84 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_85 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_86 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_87 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_88 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_89 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_90 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_91 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_92 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_93 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_94 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_95 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_96 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_97 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_98 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_99 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_100 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_101 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_102 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_103 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_104 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_105 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_106 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_107 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_108 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_109 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_110 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_111 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_112 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_113 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_114 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_115 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_116 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_117 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_118 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_119 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_120 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_121 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_122 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_123 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_124 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_125 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_126 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_127 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_128 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_129 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_130 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_131 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_132 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_133 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_134 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_135 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_136 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_137 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_138 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_139 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_140 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_141 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_142 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_143 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_144 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_145 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_146 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_147 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_148 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_149 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_150 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_151 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_152 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_153 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_154 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_155 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_156 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_157 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_158 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_159 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_160 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_161 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_162 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_163 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_164 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_165 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_166 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_167 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_168 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_169 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_170 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_171 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_172 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_173 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_174 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_175 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_176 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_177 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_178 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_179 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_180 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_181 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_182 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_183 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_184 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_185 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_186 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_187 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_188 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_189 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_190 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_191 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_192 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_193 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_194 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_195 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_196 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_197 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_198 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_199 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_200 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_201 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_202 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_203 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_204 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_205 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_206 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_207 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_208 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_209 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_210 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_211 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_212 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_213 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_214 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_13 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_14 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_215 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_216 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_217 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_218 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_219 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_220 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_221 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_222 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_223 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_224 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_225 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_226 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_227 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_228 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_229 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_230 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_231 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_232 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_15 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_16 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_17 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_18 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_233 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_234 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_235 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_236 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_237 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_238 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_239 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_240 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_241 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_242 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_243 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_244 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_245 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_246 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_247 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_248 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_249 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_250 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_251 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_252 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_253 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_254 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_19 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_20 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_21 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_255 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_256 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_257 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_258 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_259 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_260 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_261 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_262 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_263 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_264 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_265 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_266 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_267 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_268 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_269 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_270 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_271 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_272 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_273 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_274 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_275 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_276 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_277 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_278 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_279 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_280 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_281 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_22 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_23 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_24 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_25 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_26 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_27 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_28 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_29 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_30 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_31 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_32 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_33 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_34 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_35 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_36 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_37 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_38 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_39 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_282 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_283 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_284 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_285 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_286 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_287 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_288 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_289 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_290 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_291 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_292 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_293 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_294 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_295 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_296 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_297 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_298 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_299 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_300 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_301 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_302 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_303 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_304 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_305 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_306 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_307 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_308 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_309 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_310 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_311 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_312 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_313 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_314 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_315 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_316 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_317 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_318 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_319 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_320 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_321 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_322 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_323 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_324 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_325 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_326 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_327 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_328 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_329 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_330 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_331 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_332 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_333 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_334 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_335 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_336 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_337 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_338 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_339 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_340 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_341 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_342 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_343 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_344 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_345 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_346 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_40 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_41 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_347 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_348 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_349 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_350 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_351 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_42 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_43 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_44 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_45 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_352 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_353 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_354 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_46 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_47 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_48 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_49 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_355 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_356 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_357 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_358 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_359 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_50 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_51 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_52 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_53 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_54 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_55 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_56 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_57 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_58 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_59 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_60 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_61 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_62 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_63 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_64 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_65 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_66 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_67 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_68 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_69 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_70 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_71 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_72 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_73 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_74 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_75 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_76 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_77 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_78 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_79 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_80 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_81 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_82 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_83 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_84 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_85 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_86 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_87 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_88 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_89 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_90 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_91 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_92 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_93 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_94 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_95 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_96 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_97 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_98 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_99 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_100 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_101 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_102 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_103 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_104 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_105 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_106 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_107 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_108 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_109 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_110 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_111 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_112 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_113 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_114 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_115 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_116 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_117 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_118 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_119 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_120 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_121 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_122 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_123 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_124 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_125 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_126 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_127 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_128 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_129 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_130 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_131 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_132 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_133 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_134 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_135 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_136 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_137 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_138 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_139 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_140 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_141 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_142 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_143 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_144 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_145 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_146 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_147 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_148 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_149 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_150 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_151 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_152 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_153 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_154 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_155 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_156 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_157 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_158 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_159 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_160 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_161 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_162 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_163 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_164 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_165 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_166 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_167 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_168 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_169 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_170 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_171 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_360 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_361 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_362 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_363 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_364 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_365 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_366 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_367 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_368 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_369 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_370 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_371 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_372 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_172 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_173 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_174 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_373 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_374 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_375 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_376 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_377 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_378 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_379 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_380 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_381 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_382 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_383 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_384 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_385 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_386 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_387 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_388 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_389 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_390 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_391 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_392 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_393 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_394 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_395 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_396 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_397 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_398 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_399 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_400 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_401 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_402 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_403 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_404 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_405 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_406 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_407 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_408 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_409 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_410 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_411 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_412 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_413 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_414 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_415 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_416 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_417 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_418 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_419 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_420 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_421 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_422 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_423 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_424 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_425 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_426 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_427 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_428 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_429 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_430 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_431 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_432 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_433 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_434 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_435 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_436 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_437 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_438 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_439 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_440 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_441 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_442 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_443 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_444 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_445 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_446 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_447 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_448 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_449 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_450 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_451 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_452 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_453 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_175 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_176 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_454 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_177 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_178 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_179 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_180 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_181 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_182 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_183 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_184 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_185 (rtx_insn *, rtx *);
extern rtx_insn *gen_peephole2_186 (rtx_insn *, rtx *);




static int
pattern0 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != SImode)
    return -1;
  x3 = XEXP (x2, 1);
  if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    return -1;
  x4 = XEXP (x2, 2);
  if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    return -1;
  x5 = XEXP (x2, 0);
  operands[0] = x5;
  if (!ext_register_operand (operands[0], VOIDmode))
    return -1;
  x6 = XEXP (x1, 1);
  if (GET_MODE (x6) != SImode)
    return -1;
  return 0;
}

static int
pattern1 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    return -1;
  x4 = XEXP (x2, 2);
  if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    return -1;
  x5 = XEXP (x2, 0);
  operands[1] = x5;
  if (!ext_register_operand (operands[1], VOIDmode))
    return -1;
  x6 = XEXP (x1, 0);
  switch (GET_CODE (x6))
    {
    case REG:
    case SUBREG:
      operands[0] = x6;
      return 0;

    case ZERO_EXTRACT:
      if (pattern0 (x1) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern2 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
    case MEM:
      operands[1] = x4;
      return 0;

    case FLOAT_EXTEND:
      x5 = XEXP (x4, 0);
      operands[1] = x5;
      switch (GET_MODE (operands[0]))
        {
        case DFmode:
          if (!register_operand (operands[0], DFmode)
              || GET_MODE (x3) != DFmode
              || GET_MODE (x4) != DFmode
              || !register_operand (operands[1], SFmode))
            return -1;
          return 1;

        case XFmode:
          if (!register_operand (operands[0], XFmode)
              || GET_MODE (x3) != XFmode
              || GET_MODE (x4) != XFmode)
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case SFmode:
              if (!register_operand (operands[1], SFmode))
                return -1;
              return 2;

            case DFmode:
              if (!register_operand (operands[1], DFmode))
                return -1;
              return 3;

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern3 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!nonimmediate_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !nonimmediate_operand (operands[1], i1)
      || !nonmemory_operand (operands[2], QImode))
    return -1;
  return 0;
}

static int
pattern4 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  operands[0] = x3;
  if (!nonimmediate_operand (operands[0], QImode))
    return -1;
  x4 = XEXP (x1, 1);
  if (GET_MODE (x4) != QImode)
    return -1;
  x5 = XEXP (x4, 1);
  operands[1] = x5;
  if (!nonmemory_operand (operands[1], QImode))
    return -1;
  x6 = XEXP (x4, 0);
  if (!rtx_equal_p (x6, operands[0]))
    return -1;
  return 0;
}

static int
pattern5 (rtx x1, int *pnum_clobbers)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  if (pnum_clobbers == NULL)
    return -1;
  x2 = XEXP (x1, 0);
  switch (GET_CODE (x2))
    {
    case REG:
    case SUBREG:
    case MEM:
      operands[0] = x2;
      x3 = XEXP (x1, 1);
      x4 = XEXP (x3, 0);
      operands[1] = x4;
      x5 = XEXP (x3, 1);
      operands[2] = x5;
      switch (GET_MODE (operands[0]))
        {
        case TImode:
          if (!register_operand (operands[0], TImode)
              || GET_MODE (x3) != TImode
              || !register_operand (operands[1], TImode)
              || !const_1_to_63_operand (operands[2], QImode))
            return -1;
          return 0;

        case QImode:
          if (pattern3 (x3, QImode) != 0)
            return -1;
          return 1;

        case HImode:
          if (pattern3 (x3, HImode) != 0)
            return -1;
          return 2;

        default:
          return -1;
        }

    case STRICT_LOW_PART:
      if (pattern4 (x1) != 0)
        return -1;
      return 3;

    default:
      return -1;
    }
}

static int
pattern6 (rtx x1, int *pnum_clobbers, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  if (pnum_clobbers == NULL)
    return -1;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x1, 0);
  operands[0] = x3;
  if (!register_operand (operands[0], i1))
    return -1;
  x4 = XEXP (x2, 0);
  operands[1] = x4;
  if (!nonimmediate_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern7 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !nonimmediate_operand (operands[1], i1)
      || !nonimmediate_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern8 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  x5 = XEXP (x3, 1);
  operands[2] = x5;
  switch (GET_MODE (operands[0]))
    {
    case SFmode:
      return pattern7 (x3, SFmode); /* [-1, 0] */

    case DFmode:
      if (pattern7 (x3, DFmode) != 0)
        return -1;
      return 1;

    case V2SFmode:
      if (pattern7 (x3, V2SFmode) != 0)
        return -1;
      return 2;

    case V4HImode:
      if (pattern7 (x3, V4HImode) != 0)
        return -1;
      return 3;

    default:
      return -1;
    }
}

static int
pattern9 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != V8QImode)
    return -1;
  x3 = XEXP (x1, 0);
  operands[0] = x3;
  if (!register_operand (operands[0], V8QImode))
    return -1;
  x4 = XEXP (x2, 0);
  operands[1] = x4;
  if (!nonimmediate_operand (operands[1], V8QImode))
    return -1;
  x5 = XEXP (x2, 1);
  operands[2] = x5;
  if (!nonimmediate_operand (operands[2], V8QImode))
    return -1;
  return 0;
}

static int
pattern10 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[0]))
    {
    case SImode:
      if (!register_operand (operands[0], SImode)
          || GET_MODE (x1) != SImode
          || !nonimmediate_operand (operands[1], SImode))
        return -1;
      return 0;

    case DImode:
      if (!register_operand (operands[0], DImode)
          || GET_MODE (x1) != DImode
          || !nonimmediate_operand (operands[1], DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern11 (rtx x1, int *pnum_clobbers)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  if (pnum_clobbers == NULL)
    return -1;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  return pattern10 (x3); /* [-1, 1] */
}

static int
pattern12 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case SFmode:
      if (!nonimmediate_operand (operands[1], V4SFmode))
        return -1;
      return 0;

    case DFmode:
      if (!nonimmediate_operand (operands[1], V2DFmode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern13 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != VEC_SELECT)
    return -1;
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) != PARALLEL
      || XVECLEN (x4, 0) != 1)
    return -1;
  x5 = XVECEXP (x4, 0, 0);
  if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x6 = XEXP (x1, 0);
  operands[0] = x6;
  x7 = XEXP (x3, 0);
  operands[1] = x7;
  switch (GET_MODE (operands[0]))
    {
    case SImode:
      return pattern12 (x2, SImode); /* [-1, 1] */

    case DImode:
      res = pattern12 (x2, DImode);
      if (res >= 0)
        return res + 2; /* [2, 3] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern14 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !vector_operand (operands[1], i1)
      || !vector_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern15 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[1], i1)
      || !nonimmediate_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern16 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  x5 = XEXP (x3, 1);
  operands[2] = x5;
  switch (GET_MODE (operands[0]))
    {
    case V16SFmode:
      return pattern14 (x3, V16SFmode); /* [-1, 0] */

    case V8SFmode:
      if (pattern14 (x3, V8SFmode) != 0)
        return -1;
      return 1;

    case V4SFmode:
      if (pattern14 (x3, V4SFmode) != 0)
        return -1;
      return 2;

    case V8DFmode:
      if (pattern14 (x3, V8DFmode) != 0)
        return -1;
      return 3;

    case V4DFmode:
      if (pattern14 (x3, V4DFmode) != 0)
        return -1;
      return 4;

    case V2DFmode:
      if (pattern14 (x3, V2DFmode) != 0)
        return -1;
      return 5;

    case V32QImode:
      if (!register_operand (operands[0], V32QImode)
          || GET_MODE (x3) != V32QImode
          || !nonimmediate_operand (operands[2], V32QImode))
        return -1;
      return 6;

    case V16HImode:
      if (!register_operand (operands[0], V16HImode)
          || GET_MODE (x3) != V16HImode
          || !nonimmediate_operand (operands[2], V16HImode))
        return -1;
      return 7;

    case V8SImode:
      if (pattern7 (x3, V8SImode) != 0)
        return -1;
      return 8;

    case V16SImode:
      if (pattern7 (x3, V16SImode) != 0)
        return -1;
      return 9;

    case V4SImode:
      if (!register_operand (operands[0], V4SImode)
          || GET_MODE (x3) != V4SImode)
        return -1;
      return 10;

    case V8DImode:
      if (pattern7 (x3, V8DImode) != 0)
        return -1;
      return 11;

    case V4DImode:
      if (pattern7 (x3, V4DImode) != 0)
        return -1;
      return 12;

    case V2DImode:
      if (pattern7 (x3, V2DImode) != 0)
        return -1;
      return 13;

    case V64QImode:
      if (pattern15 (x3, V64QImode) != 0)
        return -1;
      return 14;

    case V16QImode:
      if (!register_operand (operands[0], V16QImode)
          || GET_MODE (x3) != V16QImode)
        return -1;
      return 15;

    case V32HImode:
      if (pattern15 (x3, V32HImode) != 0)
        return -1;
      return 16;

    case V8HImode:
      if (!register_operand (operands[0], V8HImode)
          || GET_MODE (x3) != V8HImode)
        return -1;
      return 17;

    default:
      return -1;
    }
}

static int
pattern17 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  x5 = XEXP (x3, 1);
  operands[2] = x5;
  switch (GET_MODE (operands[0]))
    {
    case V8SFmode:
      return pattern14 (x3, V8SFmode); /* [-1, 0] */

    case V4SFmode:
      if (pattern14 (x3, V4SFmode) != 0)
        return -1;
      return 1;

    case V4DFmode:
      if (pattern14 (x3, V4DFmode) != 0)
        return -1;
      return 2;

    case V2DFmode:
      if (pattern14 (x3, V2DFmode) != 0)
        return -1;
      return 3;

    case V16SFmode:
      if (pattern7 (x3, V16SFmode) != 0)
        return -1;
      return 4;

    case V8DFmode:
      if (pattern7 (x3, V8DFmode) != 0)
        return -1;
      return 5;

    case V16SImode:
      if (pattern14 (x3, V16SImode) != 0)
        return -1;
      return 6;

    case V8SImode:
      if (pattern14 (x3, V8SImode) != 0)
        return -1;
      return 7;

    case V4SImode:
      if (pattern14 (x3, V4SImode) != 0)
        return -1;
      return 8;

    case V8DImode:
      if (pattern14 (x3, V8DImode) != 0)
        return -1;
      return 9;

    case V4DImode:
      if (pattern14 (x3, V4DImode) != 0)
        return -1;
      return 10;

    case V2DImode:
      if (pattern14 (x3, V2DImode) != 0)
        return -1;
      return 11;

    case V64QImode:
      if (pattern14 (x3, V64QImode) != 0)
        return -1;
      return 12;

    case V32QImode:
      if (pattern14 (x3, V32QImode) != 0)
        return -1;
      return 13;

    case V16QImode:
      if (pattern14 (x3, V16QImode) != 0)
        return -1;
      return 14;

    case V32HImode:
      if (pattern14 (x3, V32HImode) != 0)
        return -1;
      return 15;

    case V16HImode:
      if (pattern14 (x3, V16HImode) != 0)
        return -1;
      return 16;

    case V8HImode:
      if (pattern14 (x3, V8HImode) != 0)
        return -1;
      return 17;

    default:
      return -1;
    }
}

static int
pattern18 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i3)
    return -1;
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) != PARALLEL
      || XVECLEN (x3, 0) != 2)
    return -1;
  x4 = XVECEXP (x3, 0, 0);
  if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x5 = XVECEXP (x3, 0, 1);
  if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
      || !register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x6 = XEXP (x2, 0);
  operands[1] = x6;
  if (!nonimmediate_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern19 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
    case MEM:
      operands[1] = x4;
      switch (GET_MODE (operands[0]))
        {
        case V16SImode:
          if (!register_operand (operands[0], V16SImode)
              || GET_MODE (x3) != V16SImode
              || !vector_operand (operands[1], V16SFmode))
            return -1;
          return 0;

        case V8SImode:
          if (!register_operand (operands[0], V8SImode)
              || GET_MODE (x3) != V8SImode)
            return -1;
          return 1;

        case V4SImode:
          if (!register_operand (operands[0], V4SImode)
              || GET_MODE (x3) != V4SImode)
            return -1;
          return 2;

        case V8DImode:
          if (!register_operand (operands[0], V8DImode)
              || GET_MODE (x3) != V8DImode)
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case V8DFmode:
              if (!vector_operand (operands[1], V8DFmode))
                return -1;
              return 3;

            case V8SFmode:
              if (!vector_operand (operands[1], V8SFmode))
                return -1;
              return 4;

            default:
              return -1;
            }

        case V4DImode:
          if (!register_operand (operands[0], V4DImode)
              || GET_MODE (x3) != V4DImode)
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case V4DFmode:
              if (!vector_operand (operands[1], V4DFmode))
                return -1;
              return 5;

            case V4SFmode:
              if (!vector_operand (operands[1], V4SFmode))
                return -1;
              return 6;

            default:
              return -1;
            }

        case V2DImode:
          if (!register_operand (operands[0], V2DImode)
              || GET_MODE (x3) != V2DImode
              || !vector_operand (operands[1], V2DFmode))
            return -1;
          return 7;

        default:
          return -1;
        }

    case VEC_SELECT:
      if (pattern18 (x3, V4SFmode, V2DImode, V2SFmode) != 0)
        return -1;
      return 8;

    default:
      return -1;
    }
}

static int
pattern20 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[1], i1)
      || !const_0_to_255_mul_8_operand (operands[2], SImode))
    return -1;
  return 0;
}

static int
pattern21 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  x5 = XEXP (x3, 1);
  operands[2] = x5;
  switch (GET_MODE (operands[0]))
    {
    case V32HImode:
      if (!register_operand (operands[0], V32HImode)
          || GET_MODE (x3) != V32HImode
          || !register_operand (operands[1], V32HImode))
        return -1;
      return 0;

    case V16HImode:
      if (!register_operand (operands[0], V16HImode)
          || GET_MODE (x3) != V16HImode
          || !register_operand (operands[1], V16HImode))
        return -1;
      return 1;

    case V8HImode:
      if (!register_operand (operands[0], V8HImode)
          || GET_MODE (x3) != V8HImode
          || !register_operand (operands[1], V8HImode))
        return -1;
      return 2;

    case V8SImode:
      if (!register_operand (operands[0], V8SImode)
          || GET_MODE (x3) != V8SImode
          || !register_operand (operands[1], V8SImode))
        return -1;
      return 3;

    case V4SImode:
      if (!register_operand (operands[0], V4SImode)
          || GET_MODE (x3) != V4SImode
          || !register_operand (operands[1], V4SImode))
        return -1;
      return 4;

    case V4DImode:
      if (!register_operand (operands[0], V4DImode)
          || GET_MODE (x3) != V4DImode
          || !register_operand (operands[1], V4DImode))
        return -1;
      return 5;

    case V2DImode:
      if (!register_operand (operands[0], V2DImode)
          || GET_MODE (x3) != V2DImode
          || !register_operand (operands[1], V2DImode))
        return -1;
      return 6;

    case V16SImode:
      if (!register_operand (operands[0], V16SImode)
          || GET_MODE (x3) != V16SImode)
        return -1;
      return 7;

    case V8DImode:
      if (!register_operand (operands[0], V8DImode)
          || GET_MODE (x3) != V8DImode)
        return -1;
      return 8;

    case V4TImode:
      if (pattern20 (x3, V4TImode) != 0)
        return -1;
      return 9;

    case V2TImode:
      if (pattern20 (x3, V2TImode) != 0)
        return -1;
      return 10;

    case V1TImode:
      if (pattern20 (x3, V1TImode) != 0)
        return -1;
      return 11;

    default:
      return -1;
    }
}

static int
pattern22 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !nonimmediate_operand (operands[1], i1)
      || !const_0_to_255_operand (operands[2], SImode))
    return -1;
  return 0;
}

static int
pattern23 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  x5 = XEXP (x3, 1);
  operands[2] = x5;
  switch (GET_CODE (operands[2]))
    {
    case REG:
    case SUBREG:
    case MEM:
      switch (GET_MODE (operands[0]))
        {
        case V16SImode:
          return pattern15 (x3, V16SImode); /* [-1, 0] */

        case V8SImode:
          if (pattern15 (x3, V8SImode) != 0)
            return -1;
          return 1;

        case V4SImode:
          if (pattern15 (x3, V4SImode) != 0)
            return -1;
          return 2;

        case V8DImode:
          if (pattern15 (x3, V8DImode) != 0)
            return -1;
          return 3;

        case V4DImode:
          if (pattern15 (x3, V4DImode) != 0)
            return -1;
          return 4;

        case V2DImode:
          if (pattern15 (x3, V2DImode) != 0)
            return -1;
          return 5;

        default:
          return -1;
        }

    case CONST_INT:
      switch (GET_MODE (operands[0]))
        {
        case V16SImode:
          if (pattern22 (x3, V16SImode) != 0)
            return -1;
          return 6;

        case V8SImode:
          if (pattern22 (x3, V8SImode) != 0)
            return -1;
          return 7;

        case V4SImode:
          if (!register_operand (operands[0], V4SImode)
              || GET_MODE (x3) != V4SImode
              || !nonimmediate_operand (operands[1], V4SImode))
            return -1;
          return 8;

        case V8DImode:
          if (pattern22 (x3, V8DImode) != 0)
            return -1;
          return 9;

        case V4DImode:
          if (pattern22 (x3, V4DImode) != 0)
            return -1;
          return 10;

        case V2DImode:
          if (!register_operand (operands[0], V2DImode)
              || GET_MODE (x3) != V2DImode
              || !nonimmediate_operand (operands[1], V2DImode))
            return -1;
          return 11;

        case V16QImode:
          if (!register_operand (operands[0], V16QImode)
              || GET_MODE (x3) != V16QImode
              || !nonimmediate_operand (operands[1], V16QImode)
              || !const_0_to_7_operand (operands[2], SImode))
            return -1;
          return 12;

        case V8HImode:
          if (!register_operand (operands[0], V8HImode)
              || GET_MODE (x3) != V8HImode
              || !nonimmediate_operand (operands[1], V8HImode)
              || !const_0_to_15_operand (operands[2], SImode))
            return -1;
          return 13;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern24 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  x5 = XEXP (x3, 1);
  operands[2] = x5;
  switch (GET_MODE (operands[0]))
    {
    case V32QImode:
      if (!register_operand (operands[0], V32QImode)
          || GET_MODE (x3) != V32QImode
          || !nonimmediate_operand (operands[2], V32QImode))
        return -1;
      return 0;

    case V16HImode:
      if (!register_operand (operands[0], V16HImode)
          || GET_MODE (x3) != V16HImode
          || !nonimmediate_operand (operands[2], V16HImode))
        return -1;
      return 1;

    case V8SImode:
      if (pattern7 (x3, V8SImode) != 0)
        return -1;
      return 2;

    case V16SImode:
      if (pattern7 (x3, V16SImode) != 0)
        return -1;
      return 3;

    case V4SImode:
      if (!register_operand (operands[0], V4SImode)
          || GET_MODE (x3) != V4SImode)
        return -1;
      return 4;

    case V8DImode:
      if (pattern7 (x3, V8DImode) != 0)
        return -1;
      return 5;

    case V4DImode:
      if (pattern7 (x3, V4DImode) != 0)
        return -1;
      return 6;

    case V2DImode:
      if (pattern7 (x3, V2DImode) != 0)
        return -1;
      return 7;

    case V64QImode:
      if (pattern15 (x3, V64QImode) != 0)
        return -1;
      return 8;

    case V16QImode:
      if (!register_operand (operands[0], V16QImode)
          || GET_MODE (x3) != V16QImode)
        return -1;
      return 9;

    case V32HImode:
      if (pattern15 (x3, V32HImode) != 0)
        return -1;
      return 10;

    case V8HImode:
      if (!register_operand (operands[0], V8HImode)
          || GET_MODE (x3) != V8HImode)
        return -1;
      return 11;

    default:
      return -1;
    }
}

static int
pattern25 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case V4QImode:
      if (!nonimmediate_operand (operands[1], V16QImode))
        return -1;
      return 0;

    case V4HImode:
      if (!nonimmediate_operand (operands[1], V8HImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern26 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
    case MEM:
      operands[1] = x4;
      switch (GET_MODE (operands[0]))
        {
        case V16HImode:
          if (!register_operand (operands[0], V16HImode)
              || GET_MODE (x3) != V16HImode
              || !nonimmediate_operand (operands[1], V16QImode))
            return -1;
          return 0;

        case V32HImode:
          if (!register_operand (operands[0], V32HImode)
              || GET_MODE (x3) != V32HImode
              || !nonimmediate_operand (operands[1], V32QImode))
            return -1;
          return 1;

        case V16SImode:
          if (!register_operand (operands[0], V16SImode)
              || GET_MODE (x3) != V16SImode)
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case V16QImode:
              if (!nonimmediate_operand (operands[1], V16QImode))
                return -1;
              return 2;

            case V16HImode:
              if (!nonimmediate_operand (operands[1], V16HImode))
                return -1;
              return 3;

            default:
              return -1;
            }

        case V8SImode:
          if (!register_operand (operands[0], V8SImode)
              || GET_MODE (x3) != V8SImode
              || !nonimmediate_operand (operands[1], V8HImode))
            return -1;
          return 4;

        case V8DImode:
          if (!register_operand (operands[0], V8DImode)
              || GET_MODE (x3) != V8DImode)
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case V8HImode:
              if (!nonimmediate_operand (operands[1], V8HImode))
                return -1;
              return 5;

            case V8SImode:
              if (!nonimmediate_operand (operands[1], V8SImode))
                return -1;
              return 6;

            default:
              return -1;
            }

        case V4DImode:
          if (!register_operand (operands[0], V4DImode)
              || GET_MODE (x3) != V4DImode
              || !nonimmediate_operand (operands[1], V4SImode))
            return -1;
          return 7;

        default:
          return -1;
        }

    case VEC_SELECT:
      x5 = XEXP (x4, 1);
      if (GET_CODE (x5) != PARALLEL)
        return -1;
      x6 = XEXP (x4, 0);
      operands[1] = x6;
      switch (XVECLEN (x5, 0))
        {
        case 8:
          x7 = XVECEXP (x5, 0, 0);
          if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x8 = XVECEXP (x5, 0, 1);
          if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
            return -1;
          x9 = XVECEXP (x5, 0, 2);
          if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
            return -1;
          x10 = XVECEXP (x5, 0, 3);
          if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
            return -1;
          x11 = XVECEXP (x5, 0, 4);
          if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
            return -1;
          x12 = XVECEXP (x5, 0, 5);
          if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
            return -1;
          x13 = XVECEXP (x5, 0, 6);
          if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
            return -1;
          x14 = XVECEXP (x5, 0, 7);
          if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
              || GET_MODE (x4) != V8QImode
              || !nonimmediate_operand (operands[1], V16QImode))
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case V8HImode:
              if (!register_operand (operands[0], V8HImode)
                  || GET_MODE (x3) != V8HImode)
                return -1;
              return 8;

            case V8SImode:
              if (!register_operand (operands[0], V8SImode)
                  || GET_MODE (x3) != V8SImode)
                return -1;
              return 9;

            case V8DImode:
              if (!register_operand (operands[0], V8DImode)
                  || GET_MODE (x3) != V8DImode)
                return -1;
              return 10;

            default:
              return -1;
            }

        case 4:
          x7 = XVECEXP (x5, 0, 0);
          if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x8 = XVECEXP (x5, 0, 1);
          if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
            return -1;
          x9 = XVECEXP (x5, 0, 2);
          if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
            return -1;
          x10 = XVECEXP (x5, 0, 3);
          if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case V4SImode:
              res = pattern25 (x3, V4SImode);
              if (res >= 0)
                return res + 11; /* [11, 12] */
              return -1;

            case V4DImode:
              res = pattern25 (x3, V4DImode);
              if (res >= 0)
                return res + 13; /* [13, 14] */
              return -1;

            default:
              return -1;
            }

        case 2:
          x7 = XVECEXP (x5, 0, 0);
          if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x8 = XVECEXP (x5, 0, 1);
          if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
              || !register_operand (operands[0], V2DImode)
              || GET_MODE (x3) != V2DImode)
            return -1;
          switch (GET_MODE (x4))
            {
            case V2QImode:
              if (!nonimmediate_operand (operands[1], V16QImode))
                return -1;
              return 15;

            case V2HImode:
              if (!nonimmediate_operand (operands[1], V8HImode))
                return -1;
              return 16;

            case V2SImode:
              if (!nonimmediate_operand (operands[1], V4SImode))
                return -1;
              return 17;

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern27 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  if (GET_CODE (x2) != SET)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != REG
      || REGNO (x3) != 17
      || GET_MODE (x3) != CCmode)
    return -1;
  x4 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x4) != USE)
    return -1;
  x5 = XVECEXP (x1, 0, 2);
  if (GET_CODE (x5) != USE)
    return -1;
  x6 = XVECEXP (x1, 0, 3);
  if (GET_CODE (x6) != CLOBBER)
    return -1;
  x7 = XVECEXP (x1, 0, 4);
  if (GET_CODE (x7) != CLOBBER)
    return -1;
  x8 = XVECEXP (x1, 0, 5);
  if (GET_CODE (x8) != CLOBBER)
    return -1;
  x9 = XEXP (x2, 1);
  if (GET_MODE (x9) != CCmode)
    return -1;
  x10 = XEXP (x6, 0);
  operands[0] = x10;
  return 0;
}

static int
pattern28 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x4 = XEXP (x1, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
    case MEM:
      operands[0] = x4;
      if (!nonimmediate_operand (operands[0], QImode))
        return -1;
      return 0;

    case STRICT_LOW_PART:
      x5 = XEXP (x4, 0);
      operands[0] = x5;
      if (!nonimmediate_operand (operands[0], QImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern29 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != QImode)
    return -1;
  x3 = XEXP (x2, 0);
  if (!ix86_comparison_operator (x3, VOIDmode))
    return -1;
  operands[1] = x3;
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != REG
      || REGNO (x4) != 17)
    return -1;
  x5 = XEXP (x3, 1);
  if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  return pattern28 (x1); /* [-1, 1] */
}

static int
pattern30 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    return -1;
  x4 = XEXP (x1, 0);
  if (GET_CODE (x4) != ZERO_EXTRACT
      || GET_MODE (x4) != SImode)
    return -1;
  x5 = XEXP (x4, 1);
  if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    return -1;
  x6 = XEXP (x4, 2);
  if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    return -1;
  x7 = XEXP (x4, 0);
  operands[0] = x7;
  if (!ext_register_operand (operands[0], VOIDmode))
    return -1;
  x8 = XEXP (x2, 0);
  operands[1] = x8;
  if (!register_operand (operands[1], SImode))
    return -1;
  return 0;
}

static int
pattern31 (rtx x1, int *pnum_clobbers, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (pnum_clobbers == NULL
      || !nonimmediate_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !nonimmediate_operand (operands[1], i1)
      || !general_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern32 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[1], i1)
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern33 (rtx x1, int *pnum_clobbers)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  if (pnum_clobbers == NULL)
    return -1;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  operands[0] = x3;
  if (!nonimmediate_operand (operands[0], QImode))
    return -1;
  x4 = XEXP (x1, 1);
  if (GET_MODE (x4) != QImode)
    return -1;
  x5 = XEXP (x4, 1);
  operands[1] = x5;
  if (!general_operand (operands[1], QImode))
    return -1;
  x6 = XEXP (x4, 0);
  if (!rtx_equal_p (x6, operands[0]))
    return -1;
  return 0;
}

static int
pattern34 (rtx x1, int *pnum_clobbers)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  switch (GET_CODE (x2))
    {
    case REG:
    case SUBREG:
    case MEM:
      operands[0] = x2;
      x3 = XEXP (x1, 1);
      x4 = XEXP (x3, 0);
      operands[1] = x4;
      x5 = XEXP (x3, 1);
      operands[2] = x5;
      switch (GET_MODE (operands[0]))
        {
        case HImode:
          return pattern31 (x3, pnum_clobbers, HImode); /* [-1, 0] */

        case QImode:
          if (pattern31 (x3, pnum_clobbers, QImode) != 0)
            return -1;
          return 1;

        case V8QImode:
          if (pattern7 (x3, V8QImode) != 0)
            return -1;
          return 2;

        case V4HImode:
          if (pattern7 (x3, V4HImode) != 0)
            return -1;
          return 3;

        case V2SImode:
          if (pattern7 (x3, V2SImode) != 0)
            return -1;
          return 4;

        case SFmode:
          if (pattern32 (x3, SFmode) != 0)
            return -1;
          return 5;

        case DFmode:
          if (pattern32 (x3, DFmode) != 0)
            return -1;
          return 6;

        case TFmode:
          if (pattern14 (x3, TFmode) != 0)
            return -1;
          return 7;

        default:
          return -1;
        }

    case STRICT_LOW_PART:
      if (pattern33 (x1, pnum_clobbers) != 0)
        return -1;
      return 8;

    default:
      return -1;
    }
}

static int
pattern35 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[1] = x2;
  x3 = XEXP (x1, 1);
  operands[2] = x3;
  switch (GET_MODE (operands[0]))
    {
    case V8QImode:
      return pattern7 (x1, V8QImode); /* [-1, 0] */

    case V4HImode:
      if (pattern7 (x1, V4HImode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern36 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (x1))
    {
    case QImode:
      if (!nonimmediate_operand (operands[1], QImode)
          || !general_operand (operands[2], QImode))
        return -1;
      return 0;

    case HImode:
      if (!nonimmediate_operand (operands[1], HImode)
          || !general_operand (operands[2], HImode))
        return -1;
      return 1;

    case SImode:
      if (!nonimmediate_operand (operands[1], SImode)
          || !x86_64_general_operand (operands[2], SImode))
        return -1;
      return 2;

    case DImode:
      if (!nonimmediate_operand (operands[1], DImode)
          || !x86_64_general_operand (operands[2], DImode))
        return -1;
      return 3;

    default:
      return -1;
    }
}

static int
pattern37 (rtx x1, int *pnum_clobbers)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  if (pnum_clobbers == NULL)
    return -1;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x4 = XEXP (x1, 0);
  if (GET_CODE (x4) != REG
      || REGNO (x4) != 17)
    return -1;
  x5 = XEXP (x2, 0);
  x6 = XEXP (x5, 0);
  operands[1] = x6;
  x7 = XEXP (x5, 1);
  operands[2] = x7;
  return pattern36 (x5); /* [-1, 3] */
}

static int
pattern38 (rtx x1, int *pnum_clobbers)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  if (pnum_clobbers == NULL)
    return -1;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x4 = XEXP (x1, 0);
  if (GET_CODE (x4) != REG
      || REGNO (x4) != 17)
    return -1;
  x5 = XEXP (x2, 0);
  x6 = XEXP (x5, 0);
  operands[1] = x6;
  x7 = XEXP (x5, 1);
  operands[2] = x7;
  switch (GET_MODE (x5))
    {
    case QImode:
      if (!register_operand (operands[1], QImode)
          || !const_1_to_31_operand (operands[2], QImode))
        return -1;
      return 0;

    case HImode:
      if (!register_operand (operands[1], HImode)
          || !const_1_to_31_operand (operands[2], QImode))
        return -1;
      return 1;

    case SImode:
      if (!register_operand (operands[1], SImode)
          || !const_1_to_31_operand (operands[2], QImode))
        return -1;
      return 2;

    case DImode:
      if (!register_operand (operands[1], DImode)
          || !const_1_to_63_operand (operands[2], QImode))
        return -1;
      return 3;

    default:
      return -1;
    }
}

static int
pattern39 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[0]))
    {
    case SImode:
      if (!register_operand (operands[0], SImode)
          || GET_MODE (x1) != SImode)
        return -1;
      return 0;

    case DImode:
      if (!register_operand (operands[0], DImode)
          || GET_MODE (x1) != DImode)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern40 (rtx x1, int i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  if (!ix86_carry_flag_operator (x3, VOIDmode))
    return -1;
  operands[1] = x3;
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != REG
      || REGNO (x4) != 17)
    return -1;
  x5 = XEXP (x3, 1);
  if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x6 = XEXP (x2, 1);
  if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
    return -1;
  x7 = XEXP (x2, 2);
  if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x8 = XEXP (x1, 0);
  operands[0] = x8;
  return pattern39 (x2); /* [-1, 1] */
}

static int
pattern41 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[1] = x2;
  switch (GET_MODE (operands[0]))
    {
    case V16QImode:
      if (!nonimmediate_operand (operands[0], V16QImode)
          || GET_MODE (x1) != V16QImode)
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case V16SImode:
          if (!register_operand (operands[1], V16SImode))
            return -1;
          return 0;

        case V16HImode:
          if (!register_operand (operands[1], V16HImode))
            return -1;
          return 1;

        default:
          return -1;
        }

    case V16HImode:
      if (!nonimmediate_operand (operands[0], V16HImode)
          || GET_MODE (x1) != V16HImode
          || !register_operand (operands[1], V16SImode))
        return -1;
      return 2;

    case V8SImode:
      if (!nonimmediate_operand (operands[0], V8SImode)
          || GET_MODE (x1) != V8SImode
          || !register_operand (operands[1], V8DImode))
        return -1;
      return 3;

    case V8HImode:
      if (!nonimmediate_operand (operands[0], V8HImode)
          || GET_MODE (x1) != V8HImode)
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case V8DImode:
          if (!register_operand (operands[1], V8DImode))
            return -1;
          return 4;

        case V8SImode:
          if (!register_operand (operands[1], V8SImode))
            return -1;
          return 5;

        default:
          return -1;
        }

    case V32QImode:
      if (!nonimmediate_operand (operands[0], V32QImode)
          || GET_MODE (x1) != V32QImode
          || !register_operand (operands[1], V32HImode))
        return -1;
      return 6;

    case V4SImode:
      if (!nonimmediate_operand (operands[0], V4SImode)
          || GET_MODE (x1) != V4SImode
          || !register_operand (operands[1], V4DImode))
        return -1;
      return 7;

    default:
      return -1;
    }
}

static int
pattern42 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[1] = x2;
  x3 = XEXP (x1, 1);
  operands[2] = x3;
  switch (GET_MODE (operands[0]))
    {
    case V64QImode:
      return pattern14 (x1, V64QImode); /* [-1, 0] */

    case V32QImode:
      if (pattern14 (x1, V32QImode) != 0)
        return -1;
      return 1;

    case V16QImode:
      if (pattern14 (x1, V16QImode) != 0)
        return -1;
      return 2;

    case V32HImode:
      if (pattern14 (x1, V32HImode) != 0)
        return -1;
      return 3;

    case V16HImode:
      if (pattern14 (x1, V16HImode) != 0)
        return -1;
      return 4;

    case V8HImode:
      if (pattern14 (x1, V8HImode) != 0)
        return -1;
      return 5;

    default:
      return -1;
    }
}

static int
pattern43 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != USE)
    return -1;
  x3 = XVECEXP (x1, 0, 2);
  if (GET_CODE (x3) != USE)
    return -1;
  x4 = XVECEXP (x1, 0, 3);
  if (GET_CODE (x4) != CLOBBER)
    return -1;
  x5 = XVECEXP (x1, 0, 4);
  if (GET_CODE (x5) != CLOBBER)
    return -1;
  x6 = XVECEXP (x1, 0, 0);
  x7 = XEXP (x6, 0);
  operands[0] = x7;
  return 0;
}

static int
pattern44 (rtx x1, machine_mode i1, unsigned int i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x1, 0);
  if (GET_CODE (x3) != REG
      || REGNO (x3) != i2
      || GET_MODE (x3) != i1)
    return -1;
  x4 = XVECEXP (x2, 0, 0);
  operands[0] = x4;
  return 0;
}

static int
pattern45 (rtx x1, int *pnum_clobbers)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  if (pnum_clobbers == NULL)
    return -1;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != HImode)
    return -1;
  x3 = XEXP (x1, 0);
  operands[0] = x3;
  if (!register_operand (operands[0], HImode))
    return -1;
  x4 = XVECEXP (x2, 0, 0);
  operands[1] = x4;
  if (!nonimmediate_operand (operands[1], HImode))
    return -1;
  return 0;
}

static int
pattern46 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  switch (GET_CODE (x1))
    {
    case REG:
    case SUBREG:
      operands[1] = x1;
      if (!register_operand (operands[1], XFmode))
        return -1;
      return 0;

    case FLOAT_EXTEND:
      if (GET_MODE (x1) != XFmode)
        return -1;
      x2 = XEXP (x1, 0);
      operands[1] = x2;
      switch (GET_MODE (operands[1]))
        {
        case SFmode:
          if (!register_operand (operands[1], SFmode))
            return -1;
          return 1;

        case DFmode:
          if (!register_operand (operands[1], DFmode))
            return -1;
          return 2;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern47 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != XFmode)
    return -1;
  x3 = XEXP (x1, 0);
  operands[0] = x3;
  if (!register_operand (operands[0], XFmode))
    return -1;
  x4 = XVECEXP (x2, 0, 0);
  return pattern46 (x4); /* [-1, 2] */
}

static int
pattern48 (rtx x1, int *pnum_clobbers)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  if (pnum_clobbers == NULL)
    return -1;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[1] = x4;
  switch (GET_MODE (operands[0]))
    {
    case SFmode:
      if (!register_operand (operands[0], SFmode)
          || GET_MODE (x3) != SFmode
          || !register_operand (operands[1], SFmode))
        return -1;
      return 0;

    case DFmode:
      if (!register_operand (operands[0], DFmode)
          || GET_MODE (x3) != DFmode
          || !register_operand (operands[1], DFmode))
        return -1;
      return 1;

    case XFmode:
      if (!register_operand (operands[0], XFmode)
          || GET_MODE (x3) != XFmode
          || !register_operand (operands[1], XFmode))
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern49 (rtx x1, int *pnum_clobbers)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  if (pnum_clobbers == NULL)
    return -1;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != HImode)
    return -1;
  x3 = XEXP (x1, 0);
  operands[0] = x3;
  if (!nonimmediate_operand (operands[0], HImode))
    return -1;
  x4 = XVECEXP (x2, 0, 0);
  operands[1] = x4;
  if (!register_operand (operands[1], XFmode))
    return -1;
  return 0;
}

static int
pattern50 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x1, 0);
  operands[0] = x3;
  if (!register_operand (operands[0], i1))
    return -1;
  x4 = XVECEXP (x2, 0, 0);
  operands[1] = x4;
  if (!register_operand (operands[1], i1))
    return -1;
  x5 = XVECEXP (x2, 0, 1);
  operands[2] = x5;
  if (!vector_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern51 (rtx x1, int *pnum_clobbers)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  if (pnum_clobbers == NULL)
    return -1;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != XFmode)
    return -1;
  x3 = XEXP (x1, 0);
  operands[0] = x3;
  if (!register_operand (operands[0], XFmode))
    return -1;
  x4 = XVECEXP (x2, 0, 1);
  operands[2] = x4;
  if (!register_operand (operands[2], XFmode))
    return -1;
  x5 = XVECEXP (x2, 0, 0);
  return pattern46 (x5); /* [-1, 2] */
}

static int
pattern52 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[1], i1)
      || !nonimmediate_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern53 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[1] = x4;
  x5 = XVECEXP (x3, 0, 1);
  operands[2] = x5;
  switch (GET_MODE (operands[0]))
    {
    case SFmode:
      return pattern52 (x3, SFmode); /* [-1, 0] */

    case DFmode:
      if (pattern52 (x3, DFmode) != 0)
        return -1;
      return 1;

    case V2SFmode:
      if (pattern52 (x3, V2SFmode) != 0)
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern54 (rtx x1, int *pnum_clobbers)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  if (pnum_clobbers == NULL)
    return -1;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != CCZmode)
    return -1;
  x3 = XEXP (x1, 0);
  operands[0] = x3;
  if (!flags_reg_operand (operands[0], CCZmode))
    return -1;
  x4 = XVECEXP (x2, 0, 0);
  operands[1] = x4;
  x5 = XVECEXP (x2, 0, 1);
  operands[2] = x5;
  switch (GET_MODE (operands[1]))
    {
    case SImode:
      return 0;

    case DImode:
      return 1;

    default:
      return -1;
    }
}

static int
pattern55 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x1, 0);
  operands[0] = x3;
  if (!register_operand (operands[0], i1))
    return -1;
  x4 = XVECEXP (x2, 0, 0);
  operands[1] = x4;
  if (!register_operand (operands[1], i1))
    return -1;
  x5 = XVECEXP (x2, 0, 1);
  operands[2] = x5;
  if (!nonimmediate_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern56 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != CCmode)
    return -1;
  x3 = XEXP (x1, 0);
  if (GET_CODE (x3) != REG
      || REGNO (x3) != 17
      || GET_MODE (x3) != CCmode)
    return -1;
  x4 = XVECEXP (x2, 0, 0);
  operands[0] = x4;
  x5 = XVECEXP (x2, 0, 1);
  operands[1] = x5;
  switch (GET_MODE (operands[0]))
    {
    case QImode:
      if (!register_operand (operands[0], QImode)
          || !register_operand (operands[1], QImode))
        return -1;
      return 0;

    case HImode:
      if (!register_operand (operands[0], HImode)
          || !register_operand (operands[1], HImode))
        return -1;
      return 1;

    case SImode:
      if (!register_operand (operands[0], SImode)
          || !register_operand (operands[1], SImode))
        return -1;
      return 2;

    case DImode:
      if (!register_operand (operands[0], DImode)
          || !register_operand (operands[1], DImode))
        return -1;
      return 3;

    default:
      return -1;
    }
}

static int
pattern57 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[0]))
    {
    case HImode:
      if (!register_operand (operands[0], HImode)
          || GET_MODE (x1) != HImode)
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case V16QImode:
          if (!register_operand (operands[1], V16QImode)
              || !nonimmediate_operand (operands[2], V16QImode))
            return -1;
          return 0;

        case V16HImode:
          if (!register_operand (operands[1], V16HImode)
              || !nonimmediate_operand (operands[2], V16HImode))
            return -1;
          return 1;

        case V16SImode:
          if (!register_operand (operands[1], V16SImode)
              || !nonimmediate_operand (operands[2], V16SImode))
            return -1;
          return 2;

        default:
          return -1;
        }

    case QImode:
      if (!register_operand (operands[0], QImode)
          || GET_MODE (x1) != QImode)
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case V8HImode:
          if (!register_operand (operands[1], V8HImode)
              || !nonimmediate_operand (operands[2], V8HImode))
            return -1;
          return 3;

        case V8SImode:
          if (!register_operand (operands[1], V8SImode)
              || !nonimmediate_operand (operands[2], V8SImode))
            return -1;
          return 4;

        case V4SImode:
          if (!register_operand (operands[1], V4SImode)
              || !nonimmediate_operand (operands[2], V4SImode))
            return -1;
          return 5;

        case V8DImode:
          if (!register_operand (operands[1], V8DImode)
              || !nonimmediate_operand (operands[2], V8DImode))
            return -1;
          return 6;

        case V4DImode:
          if (!register_operand (operands[1], V4DImode)
              || !nonimmediate_operand (operands[2], V4DImode))
            return -1;
          return 7;

        case V2DImode:
          if (!register_operand (operands[1], V2DImode)
              || !nonimmediate_operand (operands[2], V2DImode))
            return -1;
          return 8;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern58 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[1] = x4;
  x5 = XVECEXP (x3, 0, 1);
  operands[2] = x5;
  return pattern57 (x3); /* [-1, 8] */
}

static int
pattern59 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x1, 0);
  if (GET_CODE (x3) != REG
      || REGNO (x3) != 17
      || GET_MODE (x3) != i1)
    return -1;
  x4 = XVECEXP (x2, 0, 0);
  operands[0] = x4;
  x5 = XVECEXP (x2, 0, 1);
  operands[1] = x5;
  return 0;
}

static int
pattern60 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  if (GET_CODE (x1) != ZERO_EXTRACT
      || GET_MODE (x1) != DImode)
    return -1;
  x2 = XEXP (x1, 1);
  if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x3 = XEXP (x1, 0);
  operands[0] = x3;
  if (!register_operand (operands[0], DImode))
    return -1;
  x4 = XEXP (x1, 2);
  operands[1] = x4;
  if (!const_0_to_63_operand (operands[1], VOIDmode))
    return -1;
  return 0;
}

static int
pattern61 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[1] = x2;
  switch (GET_MODE (operands[0]))
    {
    case DImode:
      if (GET_MODE (x1) != DImode)
        return -1;
      return 0;

    case SImode:
      if (!register_operand (operands[0], SImode)
          || GET_MODE (x1) != SImode)
        return -1;
      return 1;

    case HImode:
      if (!register_operand (operands[0], HImode)
          || GET_MODE (x1) != HImode
          || !nonimmediate_operand (operands[1], QImode))
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern62 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !index_register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern63 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  operands[1] = x3;
  x4 = XEXP (x2, 1);
  operands[2] = x4;
  if (!const_0_to_3_operand (operands[2], VOIDmode))
    return -1;
  x5 = XEXP (x1, 1);
  operands[3] = x5;
  if (!const_int_operand (operands[3], VOIDmode))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case QImode:
      return pattern62 (x1, QImode); /* [-1, 0] */

    case HImode:
      if (pattern62 (x1, HImode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern64 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (GET_MODE (x1) != DFmode)
    return -1;
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) != PARALLEL
      || XVECLEN (x2, 0) != 1)
    return -1;
  x3 = XVECEXP (x2, 0, 0);
  if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  return 0;
}

static int
pattern65 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[1], i2))
    return -1;
  x4 = XEXP (x2, 1);
  if (GET_MODE (x4) != i1)
    return -1;
  x5 = XEXP (x1, 1);
  if (GET_MODE (x5) != i1)
    return -1;
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) != i1
      || !nonimmediate_operand (operands[2], i2))
    return -1;
  x7 = XEXP (x5, 1);
  if (GET_MODE (x7) != i1)
    return -1;
  return 0;
}

static int
pattern66 (rtx x1, rtx_code i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != VEC_SELECT)
    return -1;
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) != PARALLEL
      || XVECLEN (x4, 0) != 1)
    return -1;
  x5 = XVECEXP (x4, 0, 0);
  if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x6 = XEXP (x2, 1);
  if (GET_CODE (x6) != VEC_SELECT)
    return -1;
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) != PARALLEL
      || XVECLEN (x7, 0) != 1)
    return -1;
  x8 = XVECEXP (x7, 0, 0);
  if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x9 = XEXP (x1, 1);
  if (GET_CODE (x9) != i1)
    return -1;
  x10 = XEXP (x9, 0);
  if (GET_CODE (x10) != VEC_SELECT)
    return -1;
  x11 = XEXP (x10, 1);
  if (GET_CODE (x11) != PARALLEL
      || XVECLEN (x11, 0) != 1)
    return -1;
  x12 = XVECEXP (x11, 0, 0);
  if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x13 = XEXP (x9, 1);
  if (GET_CODE (x13) != VEC_SELECT)
    return -1;
  x14 = XEXP (x13, 1);
  if (GET_CODE (x14) != PARALLEL
      || XVECLEN (x14, 0) != 1)
    return -1;
  x15 = XVECEXP (x14, 0, 0);
  if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x16 = XEXP (x3, 0);
  operands[1] = x16;
  x17 = XEXP (x10, 0);
  operands[2] = x17;
  x18 = XEXP (x6, 0);
  if (!rtx_equal_p (x18, operands[1]))
    return -1;
  x19 = XEXP (x13, 0);
  if (!rtx_equal_p (x19, operands[2]))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case V2SFmode:
      return pattern65 (x1, SFmode, V2SFmode); /* [-1, 0] */

    case V2SImode:
      if (pattern65 (x1, SImode, V2SImode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern67 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2
      || !register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  operands[1] = x3;
  if (!register_operand (operands[1], SImode))
    return -1;
  return 0;
}

static int
pattern68 (rtx x1, int *pnum_clobbers)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (pnum_clobbers == NULL)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != SImode
      || !register_operand (operands[0], DImode)
      || GET_MODE (x1) != DImode)
    return -1;
  return 0;
}

static int
pattern69 (rtx x1, int *pnum_clobbers)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  if (pnum_clobbers == NULL)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != SImode
      || !register_operand (operands[0], DImode)
      || GET_MODE (x1) != DImode)
    return -1;
  x3 = XEXP (x2, 0);
  operands[1] = x3;
  if (!nonimmediate_operand (operands[1], SImode))
    return -1;
  x4 = XEXP (x2, 1);
  operands[2] = x4;
  if (!x86_64_general_operand (operands[2], SImode))
    return -1;
  return 0;
}

static int
pattern70 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != SImode
      || !register_operand (operands[0], DImode)
      || GET_MODE (x1) != DImode)
    return -1;
  x3 = XEXP (x2, 0);
  operands[1] = x3;
  if (!nonimmediate_operand (operands[1], SImode))
    return -1;
  x4 = XEXP (x2, 1);
  operands[2] = x4;
  return 0;
}

static int
pattern71 (rtx x1, int *pnum_clobbers)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  if (pnum_clobbers == NULL)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != DImode
      || !register_operand (operands[0], DImode)
      || GET_MODE (x1) != DImode)
    return -1;
  x3 = XEXP (x2, 0);
  operands[1] = x3;
  if (!register_operand (operands[1], SImode))
    return -1;
  x4 = XEXP (x1, 1);
  operands[2] = x4;
  if (!x86_64_zext_immediate_operand (operands[2], DImode))
    return -1;
  return 0;
}

static int
pattern72 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  operands[1] = x3;
  x4 = XEXP (x2, 1);
  operands[2] = x4;
  if (!const_0_to_3_operand (operands[2], VOIDmode))
    return -1;
  x5 = XEXP (x1, 1);
  operands[3] = x5;
  if (!const_int_operand (operands[3], VOIDmode))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case SImode:
      return pattern62 (x1, SImode); /* [-1, 0] */

    case DImode:
      if (pattern62 (x1, DImode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern73 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[0]))
    {
    case DImode:
      if (!nonimmediate_operand (operands[0], DImode)
          || GET_MODE (x1) != DImode
          || !nonimmediate_operand (operands[1], DImode))
        return -1;
      return 0;

    case SImode:
      if (!nonimmediate_operand (operands[0], SImode)
          || GET_MODE (x1) != SImode
          || !nonimmediate_operand (operands[1], SImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern74 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !vector_operand (operands[1], i1)
      || !vector_operand (operands[2], i1)
      || !vector_move_operand (operands[3], i1)
      || !register_operand (operands[4], i2))
    return -1;
  return 0;
}

static int
pattern75 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !nonimmediate_operand (operands[1], i1)
      || !nonimmediate_operand (operands[2], i1)
      || !vector_move_operand (operands[3], i1)
      || !register_operand (operands[4], i2))
    return -1;
  return 0;
}

static int
pattern76 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !vector_move_operand (operands[3], i1)
      || !register_operand (operands[4], i2))
    return -1;
  return 0;
}

static int
pattern77 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i1)
      || !nonimmediate_operand (operands[2], i1)
      || !vector_move_operand (operands[3], i1)
      || !register_operand (operands[4], i2))
    return -1;
  return 0;
}

static int
pattern78 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i1)
      || !vector_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern79 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 2);
  if (XWINT (x2, 0) != 1LL)
    return -1;
  x3 = XEXP (x1, 1);
  if (!rtx_equal_p (x3, operands[1]))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case V4SFmode:
      return pattern78 (x1, V4SFmode); /* [-1, 0] */

    case V2DFmode:
      if (pattern78 (x1, V2DFmode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern80 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  operands[1] = x3;
  x4 = XEXP (x2, 1);
  operands[2] = x4;
  x5 = XEXP (x1, 2);
  switch (GET_CODE (x5))
    {
    case REG:
    case SUBREG:
      operands[4] = x5;
      x6 = XEXP (x1, 1);
      operands[3] = x6;
      switch (GET_MODE (operands[0]))
        {
        case V16SFmode:
          return pattern74 (x1, V16SFmode, HImode); /* [-1, 0] */

        case V8SFmode:
          if (pattern74 (x1, V8SFmode, QImode) != 0)
            return -1;
          return 1;

        case V4SFmode:
          if (pattern74 (x1, V4SFmode, QImode) != 0)
            return -1;
          return 2;

        case V8DFmode:
          if (pattern74 (x1, V8DFmode, QImode) != 0)
            return -1;
          return 3;

        case V4DFmode:
          if (pattern74 (x1, V4DFmode, QImode) != 0)
            return -1;
          return 4;

        case V2DFmode:
          if (pattern74 (x1, V2DFmode, QImode) != 0)
            return -1;
          return 5;

        case V16SImode:
          if (pattern75 (x1, V16SImode, HImode) != 0)
            return -1;
          return 6;

        case V8SImode:
          if (pattern75 (x1, V8SImode, QImode) != 0)
            return -1;
          return 7;

        case V4SImode:
          if (pattern76 (x1, V4SImode, QImode) != 0)
            return -1;
          return 8;

        case V8DImode:
          if (pattern75 (x1, V8DImode, QImode) != 0)
            return -1;
          return 9;

        case V4DImode:
          if (pattern75 (x1, V4DImode, QImode) != 0)
            return -1;
          return 10;

        case V2DImode:
          if (pattern75 (x1, V2DImode, QImode) != 0)
            return -1;
          return 11;

        case V64QImode:
          if (pattern77 (x1, V64QImode, DImode) != 0)
            return -1;
          return 12;

        case V16QImode:
          if (pattern76 (x1, V16QImode, HImode) != 0)
            return -1;
          return 13;

        case V32QImode:
          if (pattern77 (x1, V32QImode, SImode) != 0)
            return -1;
          return 14;

        case V32HImode:
          if (pattern77 (x1, V32HImode, SImode) != 0)
            return -1;
          return 15;

        case V16HImode:
          if (pattern77 (x1, V16HImode, HImode) != 0)
            return -1;
          return 16;

        case V8HImode:
          if (pattern77 (x1, V8HImode, QImode) != 0)
            return -1;
          return 17;

        default:
          return -1;
        }

    case CONST_INT:
      res = pattern79 (x1);
      if (res >= 0)
        return res + 18; /* [18, 19] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern81 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  operands[1] = x3;
  x4 = XEXP (x2, 1);
  operands[2] = x4;
  x5 = XEXP (x1, 1);
  operands[3] = x5;
  x6 = XEXP (x1, 2);
  operands[4] = x6;
  switch (GET_MODE (operands[0]))
    {
    case V8SFmode:
      return pattern74 (x1, V8SFmode, QImode); /* [-1, 0] */

    case V4SFmode:
      if (pattern74 (x1, V4SFmode, QImode) != 0)
        return -1;
      return 1;

    case V4DFmode:
      if (pattern74 (x1, V4DFmode, QImode) != 0)
        return -1;
      return 2;

    case V2DFmode:
      if (pattern74 (x1, V2DFmode, QImode) != 0)
        return -1;
      return 3;

    case V16SFmode:
      if (pattern75 (x1, V16SFmode, HImode) != 0)
        return -1;
      return 4;

    case V8DFmode:
      if (pattern75 (x1, V8DFmode, QImode) != 0)
        return -1;
      return 5;

    case V16SImode:
      if (pattern74 (x1, V16SImode, HImode) != 0)
        return -1;
      return 6;

    case V8SImode:
      if (pattern74 (x1, V8SImode, QImode) != 0)
        return -1;
      return 7;

    case V4SImode:
      if (pattern74 (x1, V4SImode, QImode) != 0)
        return -1;
      return 8;

    case V8DImode:
      if (pattern74 (x1, V8DImode, QImode) != 0)
        return -1;
      return 9;

    case V4DImode:
      if (pattern74 (x1, V4DImode, QImode) != 0)
        return -1;
      return 10;

    case V2DImode:
      if (pattern74 (x1, V2DImode, QImode) != 0)
        return -1;
      return 11;

    case V64QImode:
      if (pattern74 (x1, V64QImode, DImode) != 0)
        return -1;
      return 12;

    case V32QImode:
      if (pattern74 (x1, V32QImode, SImode) != 0)
        return -1;
      return 13;

    case V16QImode:
      if (pattern74 (x1, V16QImode, HImode) != 0)
        return -1;
      return 14;

    case V32HImode:
      if (pattern74 (x1, V32HImode, SImode) != 0)
        return -1;
      return 15;

    case V16HImode:
      if (pattern74 (x1, V16HImode, HImode) != 0)
        return -1;
      return 16;

    case V8HImode:
      if (pattern74 (x1, V8HImode, QImode) != 0)
        return -1;
      return 17;

    default:
      return -1;
    }
}

static int
pattern82 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i3)
    return -1;
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) != PARALLEL
      || XVECLEN (x4, 0) != 2)
    return -1;
  x5 = XVECEXP (x4, 0, 0);
  if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x6 = XVECEXP (x4, 0, 1);
  if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
      || !register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || GET_MODE (x2) != i1)
    return -1;
  x7 = XEXP (x3, 0);
  operands[1] = x7;
  if (!nonimmediate_operand (operands[1], i2)
      || !vector_move_operand (operands[2], i1)
      || !register_operand (operands[3], QImode))
    return -1;
  return 0;
}

static int
pattern83 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  operands[2] = x2;
  x3 = XEXP (x1, 2);
  operands[3] = x3;
  x4 = XEXP (x1, 0);
  x5 = XEXP (x4, 0);
  switch (GET_CODE (x5))
    {
    case REG:
    case SUBREG:
    case MEM:
      operands[1] = x5;
      switch (GET_MODE (operands[0]))
        {
        case V16SFmode:
          return 0;

        case V8SFmode:
          return 1;

        case V4SFmode:
          return 2;

        case V8DFmode:
          return 3;

        case V4DFmode:
          return 4;

        case V2DFmode:
          return 5;

        default:
          return -1;
        }

    case VEC_SELECT:
      if (pattern82 (x1, V2DFmode, V4SImode, V2SImode) != 0)
        return -1;
      return 6;

    default:
      return -1;
    }
}

static int
pattern84 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !vector_operand (operands[1], i3)
      || !vector_move_operand (operands[2], i1)
      || !register_operand (operands[3], i2))
    return -1;
  return 0;
}

static int
pattern85 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !vector_move_operand (operands[2], i1)
      || !register_operand (operands[3], i2))
    return -1;
  return 0;
}

static int
pattern86 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  operands[2] = x2;
  x3 = XEXP (x1, 2);
  operands[3] = x3;
  x4 = XEXP (x1, 0);
  x5 = XEXP (x4, 0);
  switch (GET_CODE (x5))
    {
    case REG:
    case SUBREG:
    case MEM:
      operands[1] = x5;
      switch (GET_MODE (operands[0]))
        {
        case V16SImode:
          return pattern84 (x1, V16SImode, HImode, V16SFmode); /* [-1, 0] */

        case V8SImode:
          if (pattern85 (x1, V8SImode, QImode) != 0)
            return -1;
          return 1;

        case V4SImode:
          if (pattern85 (x1, V4SImode, QImode) != 0)
            return -1;
          return 2;

        case V8DImode:
          if (!register_operand (operands[0], V8DImode)
              || GET_MODE (x1) != V8DImode
              || GET_MODE (x4) != V8DImode
              || !vector_move_operand (operands[2], V8DImode)
              || !register_operand (operands[3], QImode))
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case V8DFmode:
              if (!vector_operand (operands[1], V8DFmode))
                return -1;
              return 3;

            case V8SFmode:
              if (!vector_operand (operands[1], V8SFmode))
                return -1;
              return 4;

            default:
              return -1;
            }

        case V4DImode:
          if (!register_operand (operands[0], V4DImode)
              || GET_MODE (x1) != V4DImode
              || GET_MODE (x4) != V4DImode
              || !vector_move_operand (operands[2], V4DImode)
              || !register_operand (operands[3], QImode))
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case V4DFmode:
              if (!vector_operand (operands[1], V4DFmode))
                return -1;
              return 5;

            case V4SFmode:
              if (!vector_operand (operands[1], V4SFmode))
                return -1;
              return 6;

            default:
              return -1;
            }

        case V2DImode:
          if (pattern84 (x1, V2DImode, QImode, V2DFmode) != 0)
            return -1;
          return 7;

        default:
          return -1;
        }

    case VEC_SELECT:
      if (pattern82 (x1, V2DImode, V4SFmode, V2SFmode) != 0)
        return -1;
      return 8;

    default:
      return -1;
    }
}

static int
pattern87 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!nonimmediate_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i3)
      || !vector_move_operand (operands[2], i1)
      || !register_operand (operands[3], i2))
    return -1;
  return 0;
}

static int
pattern88 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  operands[1] = x3;
  x4 = XEXP (x1, 1);
  operands[2] = x4;
  x5 = XEXP (x1, 2);
  operands[3] = x5;
  switch (GET_MODE (operands[0]))
    {
    case V16QImode:
      if (!nonimmediate_operand (operands[0], V16QImode)
          || GET_MODE (x1) != V16QImode
          || GET_MODE (x2) != V16QImode
          || !vector_move_operand (operands[2], V16QImode)
          || !register_operand (operands[3], HImode))
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case V16SImode:
          if (!register_operand (operands[1], V16SImode))
            return -1;
          return 0;

        case V16HImode:
          if (!register_operand (operands[1], V16HImode))
            return -1;
          return 1;

        default:
          return -1;
        }

    case V16HImode:
      if (pattern87 (x1, V16HImode, HImode, V16SImode) != 0)
        return -1;
      return 2;

    case V8SImode:
      if (pattern87 (x1, V8SImode, QImode, V8DImode) != 0)
        return -1;
      return 3;

    case V8HImode:
      if (!nonimmediate_operand (operands[0], V8HImode)
          || GET_MODE (x1) != V8HImode
          || GET_MODE (x2) != V8HImode
          || !vector_move_operand (operands[2], V8HImode)
          || !register_operand (operands[3], QImode))
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case V8DImode:
          if (!register_operand (operands[1], V8DImode))
            return -1;
          return 4;

        case V8SImode:
          if (!register_operand (operands[1], V8SImode))
            return -1;
          return 5;

        default:
          return -1;
        }

    case V32QImode:
      if (pattern87 (x1, V32QImode, SImode, V32HImode) != 0)
        return -1;
      return 6;

    case V4SImode:
      if (pattern87 (x1, V4SImode, QImode, V4DImode) != 0)
        return -1;
      return 7;

    default:
      return -1;
    }
}

static int
pattern89 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  operands[1] = x3;
  x4 = XEXP (x2, 1);
  operands[2] = x4;
  x5 = XEXP (x1, 1);
  operands[3] = x5;
  x6 = XEXP (x1, 2);
  operands[4] = x6;
  switch (GET_MODE (operands[0]))
    {
    case V64QImode:
      return pattern74 (x1, V64QImode, DImode); /* [-1, 0] */

    case V32QImode:
      if (pattern74 (x1, V32QImode, SImode) != 0)
        return -1;
      return 1;

    case V16QImode:
      if (pattern74 (x1, V16QImode, HImode) != 0)
        return -1;
      return 2;

    case V32HImode:
      if (pattern74 (x1, V32HImode, SImode) != 0)
        return -1;
      return 3;

    case V16HImode:
      if (pattern74 (x1, V16HImode, HImode) != 0)
        return -1;
      return 4;

    case V8HImode:
      if (pattern74 (x1, V8HImode, QImode) != 0)
        return -1;
      return 5;

    default:
      return -1;
    }
}

static int
pattern90 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i1)
      || !vector_move_operand (operands[3], i1)
      || !register_operand (operands[4], i2))
    return -1;
  return 0;
}

static int
pattern91 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  operands[1] = x3;
  x4 = XEXP (x2, 1);
  operands[2] = x4;
  x5 = XEXP (x1, 1);
  operands[3] = x5;
  x6 = XEXP (x1, 2);
  operands[4] = x6;
  switch (GET_MODE (operands[0]))
    {
    case V32HImode:
      return pattern90 (x1, V32HImode, SImode); /* [-1, 0] */

    case V16HImode:
      if (pattern90 (x1, V16HImode, HImode) != 0)
        return -1;
      return 1;

    case V8HImode:
      if (pattern90 (x1, V8HImode, QImode) != 0)
        return -1;
      return 2;

    case V8SImode:
      if (pattern90 (x1, V8SImode, QImode) != 0)
        return -1;
      return 3;

    case V4SImode:
      if (pattern90 (x1, V4SImode, QImode) != 0)
        return -1;
      return 4;

    case V4DImode:
      if (pattern90 (x1, V4DImode, QImode) != 0)
        return -1;
      return 5;

    case V2DImode:
      if (pattern90 (x1, V2DImode, QImode) != 0)
        return -1;
      return 6;

    case V16SImode:
      if (pattern76 (x1, V16SImode, HImode) != 0)
        return -1;
      return 7;

    case V8DImode:
      if (pattern76 (x1, V8DImode, QImode) != 0)
        return -1;
      return 8;

    default:
      return -1;
    }
}

static int
pattern92 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !nonimmediate_operand (operands[1], i1)
      || !vector_move_operand (operands[3], i1)
      || !register_operand (operands[4], i2))
    return -1;
  return 0;
}

static int
pattern93 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  operands[1] = x3;
  x4 = XEXP (x2, 1);
  operands[2] = x4;
  x5 = XEXP (x1, 1);
  operands[3] = x5;
  x6 = XEXP (x1, 2);
  operands[4] = x6;
  switch (GET_CODE (operands[2]))
    {
    case REG:
    case SUBREG:
    case MEM:
      switch (GET_MODE (operands[0]))
        {
        case V16SImode:
          return pattern77 (x1, V16SImode, HImode); /* [-1, 0] */

        case V8SImode:
          if (pattern77 (x1, V8SImode, QImode) != 0)
            return -1;
          return 1;

        case V4SImode:
          if (pattern77 (x1, V4SImode, QImode) != 0)
            return -1;
          return 2;

        case V8DImode:
          if (pattern77 (x1, V8DImode, QImode) != 0)
            return -1;
          return 3;

        case V4DImode:
          if (pattern77 (x1, V4DImode, QImode) != 0)
            return -1;
          return 4;

        case V2DImode:
          if (pattern77 (x1, V2DImode, QImode) != 0)
            return -1;
          return 5;

        default:
          return -1;
        }

    case CONST_INT:
      if (!const_0_to_255_operand (operands[2], SImode))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case V16SImode:
          if (pattern92 (x1, V16SImode, HImode) != 0)
            return -1;
          return 6;

        case V8SImode:
          if (pattern92 (x1, V8SImode, QImode) != 0)
            return -1;
          return 7;

        case V4SImode:
          if (pattern92 (x1, V4SImode, QImode) != 0)
            return -1;
          return 8;

        case V8DImode:
          if (pattern92 (x1, V8DImode, QImode) != 0)
            return -1;
          return 9;

        case V4DImode:
          if (pattern92 (x1, V4DImode, QImode) != 0)
            return -1;
          return 10;

        case V2DImode:
          if (pattern92 (x1, V2DImode, QImode) != 0)
            return -1;
          return 11;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern94 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  operands[1] = x3;
  x4 = XEXP (x2, 1);
  operands[2] = x4;
  x5 = XEXP (x1, 1);
  operands[3] = x5;
  x6 = XEXP (x1, 2);
  operands[4] = x6;
  switch (GET_MODE (operands[0]))
    {
    case V16SImode:
      return pattern75 (x1, V16SImode, HImode); /* [-1, 0] */

    case V8SImode:
      if (pattern75 (x1, V8SImode, QImode) != 0)
        return -1;
      return 1;

    case V4SImode:
      if (pattern76 (x1, V4SImode, QImode) != 0)
        return -1;
      return 2;

    case V8DImode:
      if (pattern75 (x1, V8DImode, QImode) != 0)
        return -1;
      return 3;

    case V4DImode:
      if (pattern75 (x1, V4DImode, QImode) != 0)
        return -1;
      return 4;

    case V2DImode:
      if (pattern75 (x1, V2DImode, QImode) != 0)
        return -1;
      return 5;

    case V64QImode:
      if (pattern77 (x1, V64QImode, DImode) != 0)
        return -1;
      return 6;

    case V16QImode:
      if (pattern77 (x1, V16QImode, HImode) != 0)
        return -1;
      return 7;

    case V32QImode:
      if (pattern77 (x1, V32QImode, SImode) != 0)
        return -1;
      return 8;

    case V32HImode:
      if (pattern77 (x1, V32HImode, SImode) != 0)
        return -1;
      return 9;

    case V16HImode:
      if (pattern77 (x1, V16HImode, HImode) != 0)
        return -1;
      return 10;

    case V8HImode:
      if (pattern76 (x1, V8HImode, QImode) != 0)
        return -1;
      return 11;

    default:
      return -1;
    }
}

static int
pattern95 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !nonimmediate_operand (operands[1], i2)
      || !vector_move_operand (operands[2], i1)
      || !register_operand (operands[3], i3))
    return -1;
  return 0;
}

static int
pattern96 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !vector_move_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern97 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !vector_move_operand (operands[2], i1))
    return -1;
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case V4QImode:
      if (!nonimmediate_operand (operands[1], V16QImode))
        return -1;
      return 0;

    case V4HImode:
      if (!nonimmediate_operand (operands[1], V8HImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern98 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  operands[2] = x2;
  x3 = XEXP (x1, 2);
  operands[3] = x3;
  x4 = XEXP (x1, 0);
  x5 = XEXP (x4, 0);
  switch (GET_CODE (x5))
    {
    case REG:
    case SUBREG:
    case MEM:
      operands[1] = x5;
      switch (GET_MODE (operands[0]))
        {
        case V16HImode:
          return pattern95 (x1, V16HImode, V16QImode, HImode); /* [-1, 0] */

        case V32HImode:
          if (pattern95 (x1, V32HImode, V32QImode, SImode) != 0)
            return -1;
          return 1;

        case V16SImode:
          if (!register_operand (operands[0], V16SImode)
              || GET_MODE (x1) != V16SImode
              || GET_MODE (x4) != V16SImode
              || !vector_move_operand (operands[2], V16SImode)
              || !register_operand (operands[3], HImode))
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case V16QImode:
              if (!nonimmediate_operand (operands[1], V16QImode))
                return -1;
              return 2;

            case V16HImode:
              if (!nonimmediate_operand (operands[1], V16HImode))
                return -1;
              return 3;

            default:
              return -1;
            }

        case V8SImode:
          if (pattern95 (x1, V8SImode, V8HImode, QImode) != 0)
            return -1;
          return 4;

        case V8DImode:
          if (!register_operand (operands[0], V8DImode)
              || GET_MODE (x1) != V8DImode
              || GET_MODE (x4) != V8DImode
              || !vector_move_operand (operands[2], V8DImode)
              || !register_operand (operands[3], QImode))
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case V8HImode:
              if (!nonimmediate_operand (operands[1], V8HImode))
                return -1;
              return 5;

            case V8SImode:
              if (!nonimmediate_operand (operands[1], V8SImode))
                return -1;
              return 6;

            default:
              return -1;
            }

        case V4DImode:
          if (pattern95 (x1, V4DImode, V4SImode, QImode) != 0)
            return -1;
          return 7;

        default:
          return -1;
        }

    case VEC_SELECT:
      x6 = XEXP (x5, 1);
      if (GET_CODE (x6) != PARALLEL)
        return -1;
      x7 = XEXP (x5, 0);
      operands[1] = x7;
      if (!register_operand (operands[3], QImode))
        return -1;
      switch (XVECLEN (x6, 0))
        {
        case 8:
          x8 = XVECEXP (x6, 0, 0);
          if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x9 = XVECEXP (x6, 0, 1);
          if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
            return -1;
          x10 = XVECEXP (x6, 0, 2);
          if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
            return -1;
          x11 = XVECEXP (x6, 0, 3);
          if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
            return -1;
          x12 = XVECEXP (x6, 0, 4);
          if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
            return -1;
          x13 = XVECEXP (x6, 0, 5);
          if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
            return -1;
          x14 = XVECEXP (x6, 0, 6);
          if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
            return -1;
          x15 = XVECEXP (x6, 0, 7);
          if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
              || GET_MODE (x5) != V8QImode
              || !nonimmediate_operand (operands[1], V16QImode))
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case V8HImode:
              if (pattern96 (x1, V8HImode) != 0)
                return -1;
              return 8;

            case V8SImode:
              if (pattern96 (x1, V8SImode) != 0)
                return -1;
              return 9;

            case V8DImode:
              if (pattern96 (x1, V8DImode) != 0)
                return -1;
              return 10;

            default:
              return -1;
            }

        case 4:
          x8 = XVECEXP (x6, 0, 0);
          if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x9 = XVECEXP (x6, 0, 1);
          if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
            return -1;
          x10 = XVECEXP (x6, 0, 2);
          if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
            return -1;
          x11 = XVECEXP (x6, 0, 3);
          if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case V4SImode:
              res = pattern97 (x1, V4SImode);
              if (res >= 0)
                return res + 11; /* [11, 12] */
              return -1;

            case V4DImode:
              res = pattern97 (x1, V4DImode);
              if (res >= 0)
                return res + 13; /* [13, 14] */
              return -1;

            default:
              return -1;
            }

        case 2:
          x8 = XVECEXP (x6, 0, 0);
          if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x9 = XVECEXP (x6, 0, 1);
          if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
              || !register_operand (operands[0], V2DImode)
              || GET_MODE (x1) != V2DImode
              || GET_MODE (x4) != V2DImode
              || !vector_move_operand (operands[2], V2DImode))
            return -1;
          switch (GET_MODE (x5))
            {
            case V2QImode:
              if (!nonimmediate_operand (operands[1], V16QImode))
                return -1;
              return 15;

            case V2HImode:
              if (!nonimmediate_operand (operands[1], V8HImode))
                return -1;
              return 16;

            case V2SImode:
              if (!nonimmediate_operand (operands[1], V4SImode))
                return -1;
              return 17;

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern99 (rtx x1, machine_mode i1, machine_mode i2, int i3)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 0);
  if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x4 = XVECEXP (x2, 0, 1);
  if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i3]
      || !register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x5 = XEXP (x1, 0);
  x6 = XEXP (x5, 0);
  operands[1] = x6;
  if (!nonimmediate_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern100 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i3)
    return -1;
  x3 = XEXP (x1, 1);
  if (GET_CODE (x3) != CONST_VECTOR
      || XVECLEN (x3, 0) != 2
      || GET_MODE (x3) != i3
      || pattern99 (x1, i1, i2, 0) != 0)
    return -1;
  return 0;
}

static int
pattern101 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[1], i1)
      || !vector_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern102 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[1] = x4;
  x5 = XVECEXP (x3, 0, 1);
  operands[2] = x5;
  switch (GET_MODE (operands[0]))
    {
    case V16SFmode:
      return pattern101 (x3, V16SFmode); /* [-1, 0] */

    case V8SFmode:
      if (pattern101 (x3, V8SFmode) != 0)
        return -1;
      return 1;

    case V4SFmode:
      if (pattern101 (x3, V4SFmode) != 0)
        return -1;
      return 2;

    case V8DFmode:
      if (pattern101 (x3, V8DFmode) != 0)
        return -1;
      return 3;

    case V4DFmode:
      if (pattern101 (x3, V4DFmode) != 0)
        return -1;
      return 4;

    case V2DFmode:
      if (pattern101 (x3, V2DFmode) != 0)
        return -1;
      return 5;

    default:
      return -1;
    }
}

static int
pattern103 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != V32HImode)
    return -1;
  x3 = XEXP (x1, 0);
  operands[0] = x3;
  if (!register_operand (operands[0], V32HImode))
    return -1;
  x4 = XVECEXP (x2, 0, 0);
  operands[1] = x4;
  if (!nonimmediate_operand (operands[1], V32HImode))
    return -1;
  x5 = XVECEXP (x2, 0, 1);
  operands[2] = x5;
  if (!const_0_to_255_operand (operands[2], SImode))
    return -1;
  return 0;
}

static int
pattern104 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != V4SImode)
    return -1;
  x3 = XEXP (x1, 0);
  operands[0] = x3;
  if (!register_operand (operands[0], V4SImode))
    return -1;
  x4 = XVECEXP (x2, 0, 0);
  operands[1] = x4;
  if (!register_operand (operands[1], V4SImode))
    return -1;
  x5 = XVECEXP (x2, 0, 1);
  operands[2] = x5;
  if (!vector_operand (operands[2], V4SImode))
    return -1;
  x6 = XVECEXP (x2, 0, 2);
  operands[3] = x6;
  return 0;
}

static int
pattern105 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[1], i1)
      || !register_operand (operands[2], i1)
      || !nonimmediate_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern106 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[1] = x4;
  x5 = XVECEXP (x3, 0, 1);
  operands[2] = x5;
  x6 = XVECEXP (x3, 0, 2);
  operands[3] = x6;
  switch (GET_MODE (operands[0]))
    {
    case V8DImode:
      return pattern105 (x3, V8DImode); /* [-1, 0] */

    case V4DImode:
      if (pattern105 (x3, V4DImode) != 0)
        return -1;
      return 1;

    case V2DImode:
      if (pattern105 (x3, V2DImode) != 0)
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern107 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[1] = x4;
  x5 = XVECEXP (x3, 0, 1);
  operands[2] = x5;
  if (!register_operand (operands[2], V64SFmode))
    return -1;
  x6 = XVECEXP (x3, 0, 2);
  operands[3] = x6;
  if (!memory_operand (operands[3], V4SFmode))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case V16SFmode:
      if (!register_operand (operands[0], V16SFmode)
          || GET_MODE (x3) != V16SFmode
          || !register_operand (operands[1], V16SFmode))
        return -1;
      return 0;

    case V4SFmode:
      if (!register_operand (operands[0], V4SFmode)
          || GET_MODE (x3) != V4SFmode
          || !register_operand (operands[1], V4SFmode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern108 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != V16SImode)
    return -1;
  x3 = XEXP (x1, 0);
  operands[0] = x3;
  if (!register_operand (operands[0], V16SImode))
    return -1;
  x4 = XVECEXP (x2, 0, 0);
  operands[1] = x4;
  if (!register_operand (operands[1], V16SImode))
    return -1;
  x5 = XVECEXP (x2, 0, 1);
  operands[2] = x5;
  if (!register_operand (operands[2], V64SImode))
    return -1;
  x6 = XVECEXP (x2, 0, 2);
  operands[3] = x6;
  if (!memory_operand (operands[3], V4SImode))
    return -1;
  return 0;
}

static int
pattern109 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[1] = x2;
  x3 = XEXP (x1, 1);
  operands[2] = x3;
  switch (GET_MODE (operands[0]))
    {
    case V16SFmode:
      return pattern14 (x1, V16SFmode); /* [-1, 0] */

    case V8SFmode:
      if (pattern14 (x1, V8SFmode) != 0)
        return -1;
      return 1;

    case V4SFmode:
      if (pattern14 (x1, V4SFmode) != 0)
        return -1;
      return 2;

    case V8DFmode:
      if (pattern14 (x1, V8DFmode) != 0)
        return -1;
      return 3;

    case V4DFmode:
      if (pattern14 (x1, V4DFmode) != 0)
        return -1;
      return 4;

    case V2DFmode:
      if (pattern14 (x1, V2DFmode) != 0)
        return -1;
      return 5;

    case V64QImode:
      if (pattern14 (x1, V64QImode) != 0)
        return -1;
      return 6;

    case V32QImode:
      if (pattern14 (x1, V32QImode) != 0)
        return -1;
      return 7;

    case V16QImode:
      if (pattern14 (x1, V16QImode) != 0)
        return -1;
      return 8;

    case V32HImode:
      if (pattern14 (x1, V32HImode) != 0)
        return -1;
      return 9;

    case V16HImode:
      if (pattern14 (x1, V16HImode) != 0)
        return -1;
      return 10;

    case V8HImode:
      if (pattern14 (x1, V8HImode) != 0)
        return -1;
      return 11;

    case V16SImode:
      if (pattern14 (x1, V16SImode) != 0)
        return -1;
      return 12;

    case V8SImode:
      if (pattern14 (x1, V8SImode) != 0)
        return -1;
      return 13;

    case V4SImode:
      if (pattern14 (x1, V4SImode) != 0)
        return -1;
      return 14;

    case V8DImode:
      if (pattern14 (x1, V8DImode) != 0)
        return -1;
      return 15;

    case V4DImode:
      if (pattern14 (x1, V4DImode) != 0)
        return -1;
      return 16;

    case V2DImode:
      if (pattern14 (x1, V2DImode) != 0)
        return -1;
      return 17;

    default:
      return -1;
    }
}

static int
pattern110 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i1
      || !nonimmediate_operand (operands[1], i3))
    return -1;
  x4 = XEXP (x1, 1);
  if (GET_MODE (x4) != i2)
    return -1;
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != i1)
    return -1;
  return 0;
}

static int
pattern111 (rtx x1, rtx_code i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19, x20, x21, x22, x23, x24, x25;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != VEC_SELECT)
    return -1;
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) != PARALLEL)
    return -1;
  x5 = XEXP (x1, 1);
  if (GET_CODE (x5) != i1)
    return -1;
  x6 = XEXP (x5, 0);
  if (GET_CODE (x6) != VEC_SELECT)
    return -1;
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) != PARALLEL)
    return -1;
  x8 = XEXP (x3, 0);
  operands[1] = x8;
  x9 = XEXP (x6, 0);
  if (!rtx_equal_p (x9, operands[1]))
    return -1;
  switch (XVECLEN (x4, 0))
    {
    case 8:
      x10 = XVECEXP (x4, 0, 0);
      if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x11 = XVECEXP (x4, 0, 1);
      if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
        return -1;
      x12 = XVECEXP (x4, 0, 2);
      if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
        return -1;
      x13 = XVECEXP (x4, 0, 3);
      if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
        return -1;
      x14 = XVECEXP (x4, 0, 4);
      if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
        return -1;
      x15 = XVECEXP (x4, 0, 5);
      if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
        return -1;
      x16 = XVECEXP (x4, 0, 6);
      if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
        return -1;
      x17 = XVECEXP (x4, 0, 7);
      if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 14]
          || XVECLEN (x7, 0) != 8)
        return -1;
      x18 = XVECEXP (x7, 0, 0);
      if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
        return -1;
      x19 = XVECEXP (x7, 0, 1);
      if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
        return -1;
      x20 = XVECEXP (x7, 0, 2);
      if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
        return -1;
      x21 = XVECEXP (x7, 0, 3);
      if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
        return -1;
      x22 = XVECEXP (x7, 0, 4);
      if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 9])
        return -1;
      x23 = XVECEXP (x7, 0, 5);
      if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 11])
        return -1;
      x24 = XVECEXP (x7, 0, 6);
      if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 13])
        return -1;
      x25 = XVECEXP (x7, 0, 7);
      if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 15]
          || pattern110 (x1, V8QImode, V8HImode, V16QImode) != 0)
        return -1;
      return 0;

    case 4:
      x10 = XVECEXP (x4, 0, 0);
      if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x11 = XVECEXP (x4, 0, 1);
      if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
        return -1;
      x12 = XVECEXP (x4, 0, 2);
      if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
        return -1;
      x13 = XVECEXP (x4, 0, 3);
      if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 6]
          || XVECLEN (x7, 0) != 4)
        return -1;
      x18 = XVECEXP (x7, 0, 0);
      if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
        return -1;
      x19 = XVECEXP (x7, 0, 1);
      if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
        return -1;
      x20 = XVECEXP (x7, 0, 2);
      if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
        return -1;
      x21 = XVECEXP (x7, 0, 3);
      if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
          || pattern110 (x1, V4HImode, V4SImode, V8HImode) != 0)
        return -1;
      return 1;

    case 2:
      x10 = XVECEXP (x4, 0, 0);
      if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x11 = XVECEXP (x4, 0, 1);
      if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 2]
          || XVECLEN (x7, 0) != 2)
        return -1;
      x18 = XVECEXP (x7, 0, 0);
      if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
        return -1;
      x19 = XVECEXP (x7, 0, 1);
      if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 3]
          || pattern110 (x1, V2SImode, V2DImode, V4SImode) != 0)
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern112 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i3)
      || GET_MODE (x1) != i3)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i3)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i2
      || !nonimmediate_operand (operands[1], i1))
    return -1;
  x4 = XEXP (x1, 1);
  if (GET_MODE (x4) != i3)
    return -1;
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != i2
      || !nonimmediate_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern113 (rtx x1, rtx_code i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19, x20, x21, x22, x23, x24, x25;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != VEC_SELECT)
    return -1;
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) != PARALLEL)
    return -1;
  x5 = XEXP (x1, 1);
  if (GET_CODE (x5) != i1)
    return -1;
  x6 = XEXP (x5, 0);
  if (GET_CODE (x6) != VEC_SELECT)
    return -1;
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) != PARALLEL)
    return -1;
  x8 = XEXP (x3, 0);
  operands[1] = x8;
  x9 = XEXP (x6, 0);
  operands[2] = x9;
  switch (XVECLEN (x4, 0))
    {
    case 8:
      x10 = XVECEXP (x4, 0, 0);
      if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x11 = XVECEXP (x4, 0, 1);
      if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
        return -1;
      x12 = XVECEXP (x4, 0, 2);
      if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
        return -1;
      x13 = XVECEXP (x4, 0, 3);
      if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
        return -1;
      x14 = XVECEXP (x4, 0, 4);
      if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
        return -1;
      x15 = XVECEXP (x4, 0, 5);
      if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
        return -1;
      x16 = XVECEXP (x4, 0, 6);
      if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
        return -1;
      x17 = XVECEXP (x4, 0, 7);
      if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 14]
          || XVECLEN (x7, 0) != 8)
        return -1;
      x18 = XVECEXP (x7, 0, 0);
      if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x19 = XVECEXP (x7, 0, 1);
      if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
        return -1;
      x20 = XVECEXP (x7, 0, 2);
      if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
        return -1;
      x21 = XVECEXP (x7, 0, 3);
      if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
        return -1;
      x22 = XVECEXP (x7, 0, 4);
      if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
        return -1;
      x23 = XVECEXP (x7, 0, 5);
      if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
        return -1;
      x24 = XVECEXP (x7, 0, 6);
      if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
        return -1;
      x25 = XVECEXP (x7, 0, 7);
      if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 14]
          || pattern112 (x1, V16SImode, V8SImode, V8DImode) != 0)
        return -1;
      return 0;

    case 4:
      x10 = XVECEXP (x4, 0, 0);
      if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x11 = XVECEXP (x4, 0, 1);
      if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
        return -1;
      x12 = XVECEXP (x4, 0, 2);
      if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
        return -1;
      x13 = XVECEXP (x4, 0, 3);
      if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 6]
          || XVECLEN (x7, 0) != 4)
        return -1;
      x18 = XVECEXP (x7, 0, 0);
      if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x19 = XVECEXP (x7, 0, 1);
      if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
        return -1;
      x20 = XVECEXP (x7, 0, 2);
      if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
        return -1;
      x21 = XVECEXP (x7, 0, 3);
      if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 6]
          || pattern112 (x1, V8SImode, V4SImode, V4DImode) != 0)
        return -1;
      return 1;

    case 2:
      x10 = XVECEXP (x4, 0, 0);
      if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x11 = XVECEXP (x4, 0, 1);
      if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 2]
          || XVECLEN (x7, 0) != 2)
        return -1;
      x18 = XVECEXP (x7, 0, 0);
      if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x19 = XVECEXP (x7, 0, 1);
      if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 2]
          || !register_operand (operands[0], V2DImode)
          || GET_MODE (x1) != V2DImode
          || GET_MODE (x2) != V2DImode
          || GET_MODE (x3) != V2SImode
          || !vector_operand (operands[1], V4SImode)
          || GET_MODE (x5) != V2DImode
          || GET_MODE (x6) != V2SImode
          || !vector_operand (operands[2], V4SImode))
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern114 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != CLOBBER)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != REG
      || REGNO (x3) != 17
      || GET_MODE (x3) != CCmode)
    return -1;
  x4 = XVECEXP (x1, 0, 0);
  x5 = XEXP (x4, 0);
  operands[0] = x5;
  return 0;
}

static int
pattern115 (rtx x1, machine_mode i1, unsigned int i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (GET_CODE (x1) != CLOBBER)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) != REG
      || REGNO (x2) != i2
      || GET_MODE (x2) != i1)
    return -1;
  return 0;
}

static int
pattern116 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[0]))
    {
    case SImode:
      if (!register_operand (operands[0], SImode)
          || GET_MODE (x1) != SImode
          || !nonimmediate_operand (operands[1], SImode))
        return -1;
      return 0;

    case DImode:
      if (!register_operand (operands[0], DImode)
          || GET_MODE (x1) != DImode
          || !nonimmediate_operand (operands[1], DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern117 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !nonimmediate_operand (operands[1], i1)
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern118 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XVECEXP (x2, 0, 0);
  operands[2] = x3;
  switch (GET_MODE (operands[0]))
    {
    case SImode:
      x4 = XVECEXP (x1, 0, 0);
      x5 = XEXP (x4, 1);
      return pattern117 (x5, SImode); /* [-1, 0] */

    case DImode:
      x4 = XVECEXP (x1, 0, 0);
      x5 = XEXP (x4, 1);
      if (pattern117 (x5, DImode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern119 (rtx x1, int *pnum_clobbers)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (pnum_clobbers == NULL)
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (XVECLEN (x2, 0) != 1
      || XINT (x2, 1) != 40)
    return -1;
  return pattern118 (x1); /* [-1, 1] */
}

static int
pattern120 (rtx x1, int *pnum_clobbers)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  operands[0] = x3;
  x4 = XEXP (x2, 1);
  x5 = XEXP (x4, 0);
  operands[1] = x5;
  x6 = XVECEXP (x1, 0, 1);
  switch (GET_CODE (x6))
    {
    case CLOBBER:
      x7 = XEXP (x6, 0);
      if (GET_CODE (x7) != REG
          || REGNO (x7) != 17
          || GET_MODE (x7) != CCmode)
        return -1;
      return pattern116 (x4); /* [-1, 1] */

    case UNSPEC:
      res = pattern119 (x1, pnum_clobbers);
      if (res >= 0)
        return res + 2; /* [2, 3] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern121 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != CLOBBER)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != REG
      || REGNO (x3) != 17
      || GET_MODE (x3) != CCmode)
    return -1;
  x4 = XVECEXP (x1, 0, 0);
  x5 = XEXP (x4, 0);
  operands[0] = x5;
  x6 = XEXP (x4, 1);
  x7 = XEXP (x6, 0);
  operands[1] = x7;
  return 0;
}

static int
pattern122 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != UNSPEC
      || XVECLEN (x2, 0) != 1
      || XINT (x2, 1) != 173)
    return -1;
  x3 = XVECEXP (x1, 0, 0);
  x4 = XEXP (x3, 0);
  operands[0] = x4;
  x5 = XEXP (x3, 1);
  x6 = XEXP (x5, 0);
  operands[1] = x6;
  x7 = XVECEXP (x2, 0, 0);
  operands[2] = x7;
  if (!const_4_or_8_to_11_operand (operands[2], SImode))
    return -1;
  return 0;
}

static int
pattern123 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[1], i1)
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern124 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != UNSPEC
      || XVECLEN (x2, 0) != 1
      || XINT (x2, 1) != 173)
    return -1;
  x3 = XVECEXP (x1, 0, 0);
  x4 = XEXP (x3, 0);
  operands[0] = x4;
  x5 = XEXP (x3, 1);
  x6 = XEXP (x5, 0);
  operands[1] = x6;
  x7 = XEXP (x5, 1);
  operands[2] = x7;
  x8 = XVECEXP (x2, 0, 0);
  operands[3] = x8;
  if (!const48_operand (operands[3], SImode))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case V16SFmode:
      return pattern123 (x5, V16SFmode); /* [-1, 0] */

    case V8SFmode:
      if (pattern123 (x5, V8SFmode) != 0)
        return -1;
      return 1;

    case V4SFmode:
      if (pattern123 (x5, V4SFmode) != 0)
        return -1;
      return 2;

    case V8DFmode:
      if (pattern123 (x5, V8DFmode) != 0)
        return -1;
      return 3;

    case V4DFmode:
      if (pattern123 (x5, V4DFmode) != 0)
        return -1;
      return 4;

    case V2DFmode:
      if (pattern123 (x5, V2DFmode) != 0)
        return -1;
      return 5;

    default:
      return -1;
    }
}

static int
pattern125 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) != i1)
    return -1;
  x4 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x4) != UNSPEC
      || XVECLEN (x4, 0) != 1
      || XINT (x4, 1) != 173)
    return -1;
  x5 = XEXP (x2, 0);
  operands[0] = x5;
  if (!register_operand (operands[0], i1))
    return -1;
  return 0;
}

static int
pattern126 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[0]))
    {
    case SFmode:
      if (!register_operand (operands[0], SFmode)
          || GET_MODE (x1) != SFmode)
        return -1;
      return 0;

    case DFmode:
      if (!register_operand (operands[0], DFmode)
          || GET_MODE (x1) != DFmode)
        return -1;
      return 1;

    case XFmode:
      if (!register_operand (operands[0], XFmode)
          || GET_MODE (x1) != XFmode)
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern127 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != CLOBBER)
    return -1;
  x3 = XVECEXP (x1, 0, 2);
  if (GET_CODE (x3) != CLOBBER)
    return -1;
  x4 = XVECEXP (x1, 0, 0);
  x5 = XEXP (x4, 0);
  operands[0] = x5;
  x6 = XEXP (x4, 1);
  x7 = XEXP (x6, 0);
  operands[1] = x7;
  if (!nonimmediate_operand (operands[1], SImode))
    return -1;
  x8 = XEXP (x2, 0);
  operands[3] = x8;
  if (!scratch_operand (operands[3], DImode))
    return -1;
  x9 = XEXP (x3, 0);
  operands[2] = x9;
  if (!memory_operand (operands[2], DImode))
    return -1;
  return pattern126 (x6); /* [-1, 2] */
}

static int
pattern128 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != SET)
    return -1;
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) != UMOD)
    return -1;
  x4 = XVECEXP (x1, 0, 0);
  x5 = XEXP (x4, 0);
  operands[0] = x5;
  x6 = XEXP (x4, 1);
  x7 = XEXP (x6, 0);
  operands[2] = x7;
  x8 = XEXP (x6, 1);
  operands[3] = x8;
  x9 = XEXP (x2, 0);
  operands[1] = x9;
  x10 = XEXP (x3, 0);
  if (!rtx_equal_p (x10, operands[2]))
    return -1;
  x11 = XEXP (x3, 1);
  if (!rtx_equal_p (x11, operands[3]))
    return -1;
  switch (GET_CODE (operands[3]))
    {
    case REG:
    case SUBREG:
    case MEM:
      return 0;

    case CONST_INT:
      return 1;

    default:
      return -1;
    }
}

static int
pattern129 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != CLOBBER)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != REG
      || REGNO (x3) != 17
      || GET_MODE (x3) != CCmode)
    return -1;
  x4 = XVECEXP (x1, 0, 2);
  if (GET_CODE (x4) != CLOBBER)
    return -1;
  x5 = XVECEXP (x1, 0, 0);
  x6 = XEXP (x5, 0);
  operands[0] = x6;
  x7 = XEXP (x5, 1);
  x8 = XEXP (x7, 0);
  operands[1] = x8;
  x9 = XEXP (x7, 1);
  operands[2] = x9;
  x10 = XEXP (x4, 0);
  operands[3] = x10;
  switch (GET_MODE (operands[0]))
    {
    case DImode:
      if (!register_operand (operands[0], DImode)
          || GET_MODE (x7) != DImode
          || !register_operand (operands[1], DImode)
          || !const_1_to_31_operand (operands[2], QImode)
          || !scratch_operand (operands[3], SImode))
        return -1;
      return 0;

    case TImode:
      if (!register_operand (operands[0], TImode)
          || GET_MODE (x7) != TImode
          || !register_operand (operands[1], TImode)
          || !const_1_to_63_operand (operands[2], QImode)
          || !scratch_operand (operands[3], DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern130 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (GET_CODE (x1) != CLOBBER)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) != MEM
      || GET_MODE (x2) != BLKmode)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != SCRATCH)
    return -1;
  return 0;
}

static int
pattern131 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) != SImode)
    return -1;
  x4 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x4) != CLOBBER)
    return -1;
  x5 = XVECEXP (x1, 0, 2);
  if (GET_CODE (x5) != CLOBBER)
    return -1;
  x6 = XEXP (x5, 0);
  if (GET_CODE (x6) != REG
      || REGNO (x6) != 17
      || GET_MODE (x6) != CCmode)
    return -1;
  x7 = XEXP (x2, 0);
  operands[0] = x7;
  if (!register_operand (operands[0], SImode))
    return -1;
  x8 = XEXP (x3, 0);
  operands[1] = x8;
  if (!nonimmediate_operand (operands[1], SImode))
    return -1;
  x9 = XEXP (x4, 0);
  operands[2] = x9;
  if (!scratch_operand (operands[2], SImode))
    return -1;
  return 0;
}

static int
pattern132 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != UNSPEC
      || XVECLEN (x2, 0) != 1
      || XINT (x2, 1) != 40)
    return -1;
  x3 = XVECEXP (x1, 0, 2);
  if (GET_CODE (x3) != CLOBBER)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != REG
      || REGNO (x4) != 17
      || GET_MODE (x4) != CCmode)
    return -1;
  x5 = XVECEXP (x1, 0, 0);
  x6 = XEXP (x5, 0);
  operands[0] = x6;
  x7 = XEXP (x5, 1);
  x8 = XEXP (x7, 0);
  operands[1] = x8;
  return pattern118 (x1); /* [-1, 1] */
}

static int
pattern133 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != MEM)
    return -1;
  x4 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x4) != SET)
    return -1;
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) != PLUS)
    return -1;
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) != CONST_INT)
    return -1;
  return 0;
}

static int
pattern134 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != CLOBBER)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != REG
      || REGNO (x3) != 17
      || GET_MODE (x3) != CCmode)
    return -1;
  x4 = XVECEXP (x1, 0, 2);
  return pattern130 (x4); /* [-1, 0] */
}

static int
pattern135 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (GET_CODE (x1) != CLOBBER)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) != REG
      || REGNO (x2) != 17
      || GET_MODE (x2) != CCmode)
    return -1;
  return 0;
}

static int
pattern136 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[0]))
    {
    case SImode:
      if (!nonimmediate_operand (operands[0], SImode)
          || GET_MODE (x1) != SImode
          || !nonimmediate_operand (operands[1], SImode))
        return -1;
      return 0;

    case DImode:
      if (!nonimmediate_operand (operands[0], DImode)
          || GET_MODE (x1) != DImode
          || !nonimmediate_operand (operands[1], DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern137 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  operands[2] = x4;
  if (!register_operand (operands[2], SImode))
    return -1;
  x5 = XEXP (x3, 1);
  operands[3] = x5;
  if (!const_int_operand (operands[3], SImode))
    return -1;
  return pattern136 (x1); /* [-1, 1] */
}

static int
pattern138 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != CLOBBER)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != REG
      || REGNO (x3) != 17
      || GET_MODE (x3) != CCmode)
    return -1;
  x4 = XVECEXP (x1, 0, 0);
  x5 = XEXP (x4, 0);
  operands[0] = x5;
  x6 = XEXP (x4, 1);
  x7 = XEXP (x6, 1);
  switch (GET_CODE (x7))
    {
    case SUBREG:
      if (XINT (x7, 1) != 0
          || GET_MODE (x7) != QImode)
        return -1;
      x8 = XEXP (x7, 0);
      if (GET_CODE (x8) != AND
          || GET_MODE (x8) != SImode)
        return -1;
      x9 = XEXP (x6, 0);
      operands[1] = x9;
      return pattern137 (x6); /* [-1, 1] */

    case CONST_INT:
      return 2;

    default:
      return -1;
    }
}

static int
pattern139 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != CLOBBER)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != REG
      || REGNO (x3) != 17
      || GET_MODE (x3) != CCmode)
    return -1;
  x4 = XVECEXP (x1, 0, 0);
  x5 = XEXP (x4, 0);
  operands[0] = x5;
  x6 = XEXP (x4, 1);
  x7 = XEXP (x6, 0);
  operands[1] = x7;
  return pattern116 (x6); /* [-1, 1] */
}

static int
pattern140 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (GET_CODE (x1) != CLOBBER)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) != REG
      || REGNO (x2) != 17
      || GET_MODE (x2) != CCmode)
    return -1;
  return 0;
}

static int
pattern141 (rtx x1, rtx_code i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != SET)
    return -1;
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) != i1)
    return -1;
  x4 = XVECEXP (x1, 0, 2);
  return pattern140 (x4); /* [-1, 0] */
}

static int
pattern142 (rtx x1, rtx_code i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != i1)
    return -1;
  x3 = XVECEXP (x1, 0, 2);
  if (GET_CODE (x3) != CLOBBER)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != REG
      || REGNO (x4) != 17
      || GET_MODE (x4) != CCmode)
    return -1;
  x5 = XVECEXP (x1, 0, 0);
  x6 = XEXP (x5, 0);
  operands[0] = x6;
  return 0;
}

static int
pattern143 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !index_register_operand (operands[1], i1)
      || !nonmemory_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern144 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  operands[3] = x2;
  switch (GET_MODE (operands[0]))
    {
    case QImode:
      return pattern143 (x1, QImode); /* [-1, 0] */

    case HImode:
      if (pattern143 (x1, HImode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern145 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  operands[1] = x3;
  x4 = XEXP (x2, 1);
  operands[2] = x4;
  if (!const248_operand (operands[2], VOIDmode))
    return -1;
  return pattern144 (x1); /* [-1, 1] */
}

static int
pattern146 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  operands[1] = x3;
  x4 = XEXP (x2, 1);
  operands[2] = x4;
  if (!const123_operand (operands[2], VOIDmode))
    return -1;
  return pattern144 (x1); /* [-1, 1] */
}

static int
pattern147 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != REG
      || REGNO (x3) != 7)
    return -1;
  x4 = XEXP (x1, 0);
  if (GET_CODE (x4) != REG
      || REGNO (x4) != 7)
    return -1;
  return 0;
}

static int
pattern148 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2
      || !vector_move_operand (operands[1], i1)
      || !register_operand (operands[2], i2)
      || !nonimmediate_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern149 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  operands[1] = x2;
  x3 = XVECEXP (x1, 0, 1);
  operands[2] = x3;
  x4 = XVECEXP (x1, 0, 2);
  operands[3] = x4;
  switch (GET_MODE (operands[0]))
    {
    case SFmode:
      return pattern148 (x1, V4SFmode, SFmode); /* [-1, 0] */

    case DFmode:
      if (pattern148 (x1, V2DFmode, DFmode) != 0)
        return -1;
      return 1;

    case TFmode:
      if (!register_operand (operands[0], TFmode)
          || GET_MODE (x1) != TFmode
          || !vector_move_operand (operands[1], TFmode)
          || !register_operand (operands[2], TFmode)
          || !nonimmediate_operand (operands[3], TFmode))
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern150 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 2);
  if (GET_CODE (x3) != MEM
      || GET_MODE (x3) != i1)
    return -1;
  x4 = XEXP (x1, 0);
  if (GET_CODE (x4) != MEM
      || GET_MODE (x4) != i1)
    return -1;
  x5 = XEXP (x4, 0);
  operands[0] = x5;
  x6 = XVECEXP (x2, 0, 0);
  operands[1] = x6;
  if (!register_operand (operands[1], i1))
    return -1;
  x7 = XVECEXP (x2, 0, 1);
  operands[2] = x7;
  if (!register_operand (operands[2], i1))
    return -1;
  x8 = XEXP (x3, 0);
  if (!rtx_equal_p (x8, operands[0]))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case SImode:
      if (!register_operand (operands[0], SImode))
        return -1;
      return 0;

    case DImode:
      if (!register_operand (operands[0], DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern151 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != CCmode)
    return -1;
  x3 = XEXP (x1, 0);
  if (GET_CODE (x3) != REG
      || REGNO (x3) != 17
      || GET_MODE (x3) != CCmode)
    return -1;
  x4 = XVECEXP (x2, 0, 0);
  operands[2] = x4;
  if (!register_operand (operands[2], V16QImode))
    return -1;
  x5 = XVECEXP (x2, 0, 1);
  operands[3] = x5;
  return 0;
}

static int
pattern152 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) != REG
      || REGNO (x2) != 7)
    return -1;
  x3 = XEXP (x1, 1);
  if (GET_CODE (x3) != PLUS)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != REG
      || REGNO (x4) != 7)
    return -1;
  x5 = XEXP (x3, 1);
  if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + -16])
    return -1;
  return 0;
}

static int
pattern153 (rtx x1, int *pnum_clobbers)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12;
  int res ATTRIBUTE_UNUSED;
  if (pnum_clobbers == NULL)
    return -1;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != QImode)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != SUBREG
      || XINT (x4, 1) != 0
      || GET_MODE (x4) != QImode)
    return -1;
  x5 = XEXP (x4, 0);
  if (GET_CODE (x5) != ZERO_EXTRACT
      || GET_MODE (x5) != SImode)
    return -1;
  x6 = XEXP (x5, 1);
  if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    return -1;
  x7 = XEXP (x5, 2);
  if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    return -1;
  x8 = XEXP (x1, 0);
  if (GET_CODE (x8) != ZERO_EXTRACT
      || GET_MODE (x8) != SImode)
    return -1;
  x9 = XEXP (x8, 1);
  if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    return -1;
  x10 = XEXP (x8, 2);
  if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    return -1;
  x11 = XEXP (x8, 0);
  operands[0] = x11;
  if (!ext_register_operand (operands[0], VOIDmode)
      || GET_MODE (x2) != SImode)
    return -1;
  x12 = XEXP (x5, 0);
  operands[1] = x12;
  if (!ext_register_operand (operands[1], VOIDmode))
    return -1;
  return 0;
}

static int
pattern154 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[1] = x2;
  x3 = XEXP (x1, 1);
  operands[2] = x3;
  switch (GET_MODE (operands[0]))
    {
    case DImode:
      if (!nonimmediate_operand (operands[0], DImode)
          || GET_MODE (x1) != DImode
          || !nonimmediate_operand (operands[1], DImode))
        return -1;
      return 0;

    case SImode:
      if (!nonimmediate_operand (operands[0], SImode)
          || GET_MODE (x1) != SImode
          || !nonimmediate_operand (operands[1], SImode)
          || !x86_64_general_operand (operands[2], SImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern155 (rtx x1, rtx_code i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != DImode)
    return -1;
  x3 = XEXP (x1, 1);
  if (GET_CODE (x3) != i1
      || GET_MODE (x3) != DImode
      || !register_operand (operands[0], DImode)
      || GET_MODE (x1) != DImode)
    return -1;
  x4 = XEXP (x2, 0);
  operands[1] = x4;
  if (!nonimmediate_operand (operands[1], SImode))
    return -1;
  x5 = XEXP (x3, 0);
  operands[2] = x5;
  if (!nonimmediate_operand (operands[2], SImode))
    return -1;
  return 0;
}

static int
pattern156 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[0]))
    {
    case DImode:
      if (!register_operand (operands[0], DImode)
          || GET_MODE (x1) != DImode)
        return -1;
      return 0;

    case SImode:
      if (!register_operand (operands[0], SImode)
          || GET_MODE (x1) != SImode
          || !nonimmediate_operand (operands[1], SImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern157 (rtx x1, int *pnum_clobbers)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (pnum_clobbers == NULL)
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  operands[1] = x2;
  switch (GET_MODE (operands[0]))
    {
    case SImode:
      if (!register_operand (operands[0], SImode)
          || GET_MODE (x1) != SImode
          || !nonimmediate_operand (operands[1], SImode))
        return -1;
      return 0;

    case DImode:
      if (!register_operand (operands[0], DImode)
          || GET_MODE (x1) != DImode
          || !nonimmediate_operand (operands[1], DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern158 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[0]))
    {
    case SImode:
      if (!nonimmediate_operand (operands[0], SImode)
          || GET_MODE (x1) != SImode)
        return -1;
      return 0;

    case DImode:
      if (!nonimmediate_operand (operands[0], DImode)
          || GET_MODE (x1) != DImode)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern159 (rtx x1, int *pnum_clobbers)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (pnum_clobbers == NULL)
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  operands[1] = x2;
  if (!register_operand (operands[1], XFmode))
    return -1;
  return pattern158 (x1); /* [-1, 1] */
}

static int
pattern160 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i1)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != i3
      || !nonimmediate_operand (operands[1], i2))
    return -1;
  x5 = XEXP (x2, 1);
  if (GET_MODE (x5) != i1)
    return -1;
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) != i3
      || !nonimmediate_operand (operands[2], i2)
      || !vector_move_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern161 (rtx x1, rtx_code i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19, x20, x21, x22, x23, x24, x25;
  rtx x26, x27, x28;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != VEC_SELECT)
    return -1;
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) != PARALLEL)
    return -1;
  x6 = XEXP (x2, 1);
  if (GET_CODE (x6) != i1)
    return -1;
  x7 = XEXP (x6, 0);
  if (GET_CODE (x7) != VEC_SELECT)
    return -1;
  x8 = XEXP (x7, 1);
  if (GET_CODE (x8) != PARALLEL)
    return -1;
  x9 = XEXP (x4, 0);
  operands[1] = x9;
  x10 = XEXP (x7, 0);
  operands[2] = x10;
  x11 = XEXP (x1, 1);
  operands[3] = x11;
  x12 = XEXP (x1, 2);
  operands[4] = x12;
  if (!register_operand (operands[4], QImode))
    return -1;
  switch (XVECLEN (x5, 0))
    {
    case 8:
      x13 = XVECEXP (x5, 0, 0);
      if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x14 = XVECEXP (x5, 0, 1);
      if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
        return -1;
      x15 = XVECEXP (x5, 0, 2);
      if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
        return -1;
      x16 = XVECEXP (x5, 0, 3);
      if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
        return -1;
      x17 = XVECEXP (x5, 0, 4);
      if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
        return -1;
      x18 = XVECEXP (x5, 0, 5);
      if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
        return -1;
      x19 = XVECEXP (x5, 0, 6);
      if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
        return -1;
      x20 = XVECEXP (x5, 0, 7);
      if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 14]
          || XVECLEN (x8, 0) != 8)
        return -1;
      x21 = XVECEXP (x8, 0, 0);
      if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x22 = XVECEXP (x8, 0, 1);
      if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
        return -1;
      x23 = XVECEXP (x8, 0, 2);
      if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
        return -1;
      x24 = XVECEXP (x8, 0, 3);
      if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
        return -1;
      x25 = XVECEXP (x8, 0, 4);
      if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
        return -1;
      x26 = XVECEXP (x8, 0, 5);
      if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
        return -1;
      x27 = XVECEXP (x8, 0, 6);
      if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
        return -1;
      x28 = XVECEXP (x8, 0, 7);
      if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 14]
          || pattern160 (x1, V8DImode, V16SImode, V8SImode) != 0)
        return -1;
      return 0;

    case 4:
      x13 = XVECEXP (x5, 0, 0);
      if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x14 = XVECEXP (x5, 0, 1);
      if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
        return -1;
      x15 = XVECEXP (x5, 0, 2);
      if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
        return -1;
      x16 = XVECEXP (x5, 0, 3);
      if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 6]
          || XVECLEN (x8, 0) != 4)
        return -1;
      x21 = XVECEXP (x8, 0, 0);
      if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x22 = XVECEXP (x8, 0, 1);
      if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
        return -1;
      x23 = XVECEXP (x8, 0, 2);
      if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
        return -1;
      x24 = XVECEXP (x8, 0, 3);
      if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 6]
          || pattern160 (x1, V4DImode, V8SImode, V4SImode) != 0)
        return -1;
      return 1;

    case 2:
      x13 = XVECEXP (x5, 0, 0);
      if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x14 = XVECEXP (x5, 0, 1);
      if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 2]
          || XVECLEN (x8, 0) != 2)
        return -1;
      x21 = XVECEXP (x8, 0, 0);
      if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x22 = XVECEXP (x8, 0, 1);
      if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 2]
          || !register_operand (operands[0], V2DImode)
          || GET_MODE (x1) != V2DImode
          || GET_MODE (x2) != V2DImode
          || GET_MODE (x3) != V2DImode
          || GET_MODE (x4) != V2SImode
          || !vector_operand (operands[1], V4SImode)
          || GET_MODE (x6) != V2DImode
          || GET_MODE (x7) != V2SImode
          || !vector_operand (operands[2], V4SImode)
          || !vector_move_operand (operands[3], V2DImode))
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern162 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 2);
  if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
      || !register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x3 = XEXP (x1, 0);
  if (GET_MODE (x3) != i1)
    return -1;
  return 0;
}

static int
pattern163 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3, machine_mode i4)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i4
      || !register_operand (operands[1], i3))
    return -1;
  x4 = XEXP (x2, 1);
  if (GET_MODE (x4) != i4
      || !vector_operand (operands[2], i3)
      || !vector_move_operand (operands[3], i2)
      || !register_operand (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern164 (rtx x1, rtx_code i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) != i1)
    return -1;
  x4 = XEXP (x2, 0);
  x5 = XEXP (x4, 0);
  operands[1] = x5;
  x6 = XEXP (x3, 0);
  operands[2] = x6;
  x7 = XEXP (x1, 1);
  operands[3] = x7;
  x8 = XEXP (x1, 2);
  operands[4] = x8;
  switch (GET_MODE (operands[0]))
    {
    case V64QImode:
      return pattern163 (x1, DImode, V64QImode, V32HImode, V32QImode); /* [-1, 0] */

    case V32QImode:
      if (pattern163 (x1, SImode, V32QImode, V16HImode, V16QImode) != 0)
        return -1;
      return 1;

    case V16QImode:
      if (pattern163 (x1, HImode, V16QImode, V8HImode, V8QImode) != 0)
        return -1;
      return 2;

    case V32HImode:
      if (pattern163 (x1, SImode, V32HImode, V16SImode, V16HImode) != 0)
        return -1;
      return 3;

    case V16HImode:
      if (pattern163 (x1, HImode, V16HImode, V8SImode, V8HImode) != 0)
        return -1;
      return 4;

    case V8HImode:
      if (pattern163 (x1, QImode, V8HImode, V4SImode, V4HImode) != 0)
        return -1;
      return 5;

    default:
      return -1;
    }
}

static int
pattern165 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  operands[1] = x2;
  switch (GET_MODE (operands[0]))
    {
    case V8SFmode:
      if (!register_operand (operands[0], V8SFmode)
          || GET_MODE (x1) != V8SFmode
          || !vector_operand (operands[1], V8SFmode))
        return -1;
      return 0;

    case V4SFmode:
      if (!register_operand (operands[0], V4SFmode)
          || GET_MODE (x1) != V4SFmode
          || !vector_operand (operands[1], V4SFmode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern166 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  operands[1] = x2;
  switch (GET_MODE (operands[0]))
    {
    case V16SFmode:
      if (!register_operand (operands[0], V16SFmode)
          || GET_MODE (x1) != V16SFmode
          || !vector_operand (operands[1], V16SFmode))
        return -1;
      return 0;

    case V8DFmode:
      if (!register_operand (operands[0], V8DFmode)
          || GET_MODE (x1) != V8DFmode
          || !vector_operand (operands[1], V8DFmode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern167 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != VEC_SELECT)
    return -1;
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) != PARALLEL)
    return -1;
  x5 = XEXP (x1, 1);
  if (GET_CODE (x5) != SIGN_EXTEND)
    return -1;
  x6 = XEXP (x5, 0);
  if (GET_CODE (x6) != VEC_SELECT)
    return -1;
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) != PARALLEL)
    return -1;
  x8 = XEXP (x3, 0);
  operands[1] = x8;
  x9 = XEXP (x6, 0);
  operands[2] = x9;
  return 0;
}

static int
pattern168 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !nonimmediate_operand (operands[1], i1)
      || !nonimmediate_operand (operands[2], i1)
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern169 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  operands[1] = x3;
  x4 = XEXP (x2, 1);
  operands[2] = x4;
  x5 = XEXP (x1, 1);
  operands[3] = x5;
  switch (GET_MODE (operands[0]))
    {
    case V8HImode:
      return pattern168 (x1, V8HImode); /* [-1, 0] */

    case V4SImode:
      if (pattern168 (x1, V4SImode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern170 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  int res ATTRIBUTE_UNUSED;
  if (GET_MODE (x1) != V4SImode)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) != SIGN_EXTEND
      || GET_MODE (x2) != V4SImode)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != VEC_SELECT
      || GET_MODE (x3) != V4HImode)
    return -1;
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) != PARALLEL
      || XVECLEN (x4, 0) != 4)
    return -1;
  x5 = XVECEXP (x4, 0, 0);
  if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x6 = XVECEXP (x4, 0, 1);
  if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
    return -1;
  x7 = XVECEXP (x4, 0, 2);
  if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
    return -1;
  x8 = XVECEXP (x4, 0, 3);
  if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
    return -1;
  x9 = XEXP (x1, 1);
  if (GET_CODE (x9) != SIGN_EXTEND
      || GET_MODE (x9) != V4SImode)
    return -1;
  return 0;
}

static int
pattern171 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  if (GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i1)
    return -1;
  x4 = XEXP (x1, 1);
  if (GET_MODE (x4) != i2)
    return -1;
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != i1)
    return -1;
  return 0;
}

static int
pattern172 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i2)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != i1
      || !nonimmediate_operand (operands[1], i3))
    return -1;
  x5 = XEXP (x2, 1);
  if (GET_MODE (x5) != i2)
    return -1;
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) != i1)
    return -1;
  x7 = XEXP (x1, 1);
  return pattern171 (x7, i1, i2); /* [-1, 0] */
}

static int
pattern173 (rtx x1, rtx_code i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19, x20, x21, x22, x23, x24, x25;
  rtx x26, x27, x28, x29, x30, x31, x32, x33;
  rtx x34, x35;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != VEC_SELECT)
    return -1;
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) != PARALLEL)
    return -1;
  x6 = XEXP (x2, 1);
  if (GET_CODE (x6) != i1)
    return -1;
  x7 = XEXP (x6, 0);
  if (GET_CODE (x7) != VEC_SELECT)
    return -1;
  x8 = XEXP (x7, 1);
  if (GET_CODE (x8) != PARALLEL)
    return -1;
  x9 = XEXP (x1, 1);
  if (GET_CODE (x9) != PLUS)
    return -1;
  x10 = XEXP (x9, 0);
  if (GET_CODE (x10) != i1)
    return -1;
  x11 = XEXP (x10, 0);
  if (GET_CODE (x11) != VEC_SELECT)
    return -1;
  x12 = XEXP (x11, 1);
  if (GET_CODE (x12) != PARALLEL)
    return -1;
  x13 = XEXP (x9, 1);
  if (GET_CODE (x13) != i1)
    return -1;
  x14 = XEXP (x13, 0);
  if (GET_CODE (x14) != VEC_SELECT)
    return -1;
  x15 = XEXP (x14, 1);
  if (GET_CODE (x15) != PARALLEL)
    return -1;
  x16 = XEXP (x4, 0);
  operands[1] = x16;
  x17 = XEXP (x7, 0);
  if (!rtx_equal_p (x17, operands[1]))
    return -1;
  x18 = XEXP (x11, 0);
  if (!rtx_equal_p (x18, operands[1]))
    return -1;
  x19 = XEXP (x14, 0);
  if (!rtx_equal_p (x19, operands[1]))
    return -1;
  switch (XVECLEN (x5, 0))
    {
    case 4:
      x20 = XVECEXP (x5, 0, 0);
      if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x21 = XVECEXP (x5, 0, 1);
      if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
        return -1;
      x22 = XVECEXP (x5, 0, 2);
      if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
        return -1;
      x23 = XVECEXP (x5, 0, 3);
      if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 12]
          || XVECLEN (x8, 0) != 4)
        return -1;
      x24 = XVECEXP (x8, 0, 0);
      if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
        return -1;
      x25 = XVECEXP (x8, 0, 1);
      if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
        return -1;
      x26 = XVECEXP (x8, 0, 2);
      if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 9])
        return -1;
      x27 = XVECEXP (x8, 0, 3);
      if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 13]
          || XVECLEN (x12, 0) != 4)
        return -1;
      x28 = XVECEXP (x12, 0, 0);
      if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
        return -1;
      x29 = XVECEXP (x12, 0, 1);
      if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
        return -1;
      x30 = XVECEXP (x12, 0, 2);
      if (x30 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
        return -1;
      x31 = XVECEXP (x12, 0, 3);
      if (x31 != const_int_rtx[MAX_SAVED_CONST_INT + 14]
          || XVECLEN (x15, 0) != 4)
        return -1;
      x32 = XVECEXP (x15, 0, 0);
      if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
        return -1;
      x33 = XVECEXP (x15, 0, 1);
      if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
        return -1;
      x34 = XVECEXP (x15, 0, 2);
      if (x34 != const_int_rtx[MAX_SAVED_CONST_INT + 11])
        return -1;
      x35 = XVECEXP (x15, 0, 3);
      if (x35 != const_int_rtx[MAX_SAVED_CONST_INT + 15]
          || pattern172 (x1, V4QImode, V4SImode, V16QImode) != 0)
        return -1;
      return 0;

    case 2:
      x20 = XVECEXP (x5, 0, 0);
      if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x21 = XVECEXP (x5, 0, 1);
      if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 4]
          || XVECLEN (x8, 0) != 2)
        return -1;
      x24 = XVECEXP (x8, 0, 0);
      if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
        return -1;
      x25 = XVECEXP (x8, 0, 1);
      if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 5]
          || XVECLEN (x12, 0) != 2)
        return -1;
      x28 = XVECEXP (x12, 0, 0);
      if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
        return -1;
      x29 = XVECEXP (x12, 0, 1);
      if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 6]
          || XVECLEN (x15, 0) != 2)
        return -1;
      x32 = XVECEXP (x15, 0, 0);
      if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
        return -1;
      x33 = XVECEXP (x15, 0, 1);
      if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
          || pattern172 (x1, V2HImode, V2DImode, V8HImode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern174 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!nonimmediate_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !nonimmediate_operand (operands[1], i1)
      || !general_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern175 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!nonimmediate_operand (operands[0], SImode)
      || GET_MODE (x1) != SImode
      || !nonimmediate_operand (operands[1], SImode)
      || !x86_64_general_operand (operands[2], SImode))
    return -1;
  return 0;
}

static int
pattern176 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XVECEXP (x2, 0, 0);
  if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case QImode:
      x4 = XVECEXP (x1, 0, 0);
      x5 = XEXP (x4, 1);
      return pattern123 (x5, QImode); /* [-1, 0] */

    case HImode:
      x4 = XVECEXP (x1, 0, 0);
      x5 = XEXP (x4, 1);
      if (pattern123 (x5, HImode) != 0)
        return -1;
      return 1;

    case SImode:
      x4 = XVECEXP (x1, 0, 0);
      x5 = XEXP (x4, 1);
      if (pattern123 (x5, SImode) != 0)
        return -1;
      return 2;

    case DImode:
      x4 = XVECEXP (x1, 0, 0);
      x5 = XEXP (x4, 1);
      if (pattern123 (x5, DImode) != 0)
        return -1;
      return 3;

    default:
      return -1;
    }
}

static int
pattern177 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (XVECLEN (x2, 0) != 1
      || XINT (x2, 1) != 170)
    return -1;
  return pattern176 (x1); /* [-1, 3] */
}

static int
pattern178 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != CLOBBER)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != REG
      || REGNO (x3) != 17
      || GET_MODE (x3) != CCmode)
    return -1;
  x4 = XVECEXP (x1, 0, 0);
  x5 = XEXP (x4, 0);
  x6 = XEXP (x5, 0);
  operands[0] = x6;
  if (!nonimmediate_operand (operands[0], QImode))
    return -1;
  x7 = XEXP (x4, 1);
  if (GET_MODE (x7) != QImode)
    return -1;
  x8 = XEXP (x7, 1);
  operands[1] = x8;
  if (!general_operand (operands[1], QImode))
    return -1;
  x9 = XEXP (x7, 0);
  if (!rtx_equal_p (x9, operands[0]))
    return -1;
  return 0;
}

static int
pattern179 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  switch (GET_CODE (x3))
    {
    case REG:
    case SUBREG:
    case MEM:
      operands[0] = x3;
      x4 = XEXP (x2, 1);
      x5 = XEXP (x4, 0);
      operands[1] = x5;
      x6 = XEXP (x4, 1);
      operands[2] = x6;
      x7 = XVECEXP (x1, 0, 1);
      switch (GET_CODE (x7))
        {
        case CLOBBER:
          x8 = XEXP (x7, 0);
          if (GET_CODE (x8) != REG
              || REGNO (x8) != 17
              || GET_MODE (x8) != CCmode)
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case DImode:
              if (!nonimmediate_operand (operands[0], DImode)
                  || GET_MODE (x4) != DImode
                  || !nonimmediate_operand (operands[1], DImode))
                return -1;
              return 0;

            case HImode:
              if (pattern174 (x4, HImode) != 0)
                return -1;
              return 1;

            case SImode:
              if (pattern175 (x4) != 0)
                return -1;
              return 2;

            case QImode:
              if (pattern174 (x4, QImode) != 0)
                return -1;
              return 3;

            default:
              return -1;
            }

        case UNSPEC:
          res = pattern177 (x1);
          if (res >= 0)
            return res + 4; /* [4, 7] */
          return -1;

        default:
          return -1;
        }

    case STRICT_LOW_PART:
      if (pattern178 (x1) != 0)
        return -1;
      return 8;

    default:
      return -1;
    }
}

static int
pattern180 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != DImode)
    return -1;
  x5 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x5) != CLOBBER)
    return -1;
  x6 = XEXP (x5, 0);
  if (GET_CODE (x6) != REG
      || REGNO (x6) != 17
      || GET_MODE (x6) != CCmode)
    return -1;
  x7 = XEXP (x2, 0);
  operands[0] = x7;
  if (!register_operand (operands[0], DImode)
      || GET_MODE (x3) != DImode)
    return -1;
  x8 = XEXP (x4, 0);
  operands[1] = x8;
  if (!register_operand (operands[1], SImode))
    return -1;
  x9 = XEXP (x3, 1);
  operands[2] = x9;
  if (!x86_64_zext_immediate_operand (operands[2], DImode))
    return -1;
  return 0;
}

static int
pattern181 (rtx x1, rtx_code i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (GET_CODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) != MINUS
      || GET_MODE (x2) != QImode)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != CONST_INT)
    return -1;
  return 0;
}

static int
pattern182 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != CLOBBER)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != REG
      || REGNO (x3) != 17
      || GET_MODE (x3) != CCmode)
    return -1;
  x4 = XVECEXP (x1, 0, 0);
  x5 = XEXP (x4, 0);
  operands[0] = x5;
  x6 = XEXP (x4, 1);
  x7 = XEXP (x6, 0);
  x8 = XEXP (x7, 0);
  operands[1] = x8;
  return 0;
}

static int
pattern183 (rtx x1, int i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != UNSPEC
      || XVECLEN (x2, 0) != 1
      || XINT (x2, 1) != i1)
    return -1;
  x3 = XVECEXP (x2, 0, 0);
  if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x4 = XVECEXP (x1, 0, 0);
  x5 = XEXP (x4, 0);
  operands[0] = x5;
  return 0;
}

static int
pattern184 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != CLOBBER)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != REG
      || REGNO (x3) != 17
      || GET_MODE (x3) != CCmode)
    return -1;
  x4 = XVECEXP (x1, 0, 0);
  x5 = XEXP (x4, 0);
  operands[0] = x5;
  if (!register_operand (operands[0], SImode))
    return -1;
  return 0;
}

static int
pattern185 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  if (!ix86_comparison_operator (operands[1], SImode))
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != REG
      || REGNO (x4) != 17)
    return -1;
  x5 = XEXP (x3, 1);
  if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
      || pattern184 (x1) != 0)
    return -1;
  return 0;
}

static int
pattern186 (rtx x1, machine_mode i1, int i2, rtx_code i3, int i4)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (GET_CODE (x1) != i3
      || XVECLEN (x1, 0) != i4
      || XINT (x1, 1) != i2
      || GET_MODE (x1) != i1)
    return -1;
  return 0;
}

static int
pattern187 (rtx x1, int i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (GET_CODE (x1) != UNSPEC
      || XVECLEN (x1, 0) != 1
      || XINT (x1, 1) != i1)
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  return 0;
}

static int
pattern188 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != SET)
    return -1;
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) != PLUS
      || GET_MODE (x3) != SImode)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != REG
      || REGNO (x4) != 7
      || GET_MODE (x4) != SImode)
    return -1;
  x5 = XEXP (x2, 0);
  if (GET_CODE (x5) != REG
      || REGNO (x5) != 7
      || GET_MODE (x5) != SImode)
    return -1;
  x6 = XVECEXP (x1, 0, 2);
  return pattern187 (x6, 39); /* [-1, 0] */
}

static int
pattern189 (machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!nonimmediate_operand (operands[3], i2)
      || !nonimmediate_operand (operands[4], i1)
      || !scratch_operand (operands[1], i1)
      || !scratch_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern190 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) != SImode)
    return -1;
  x4 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x4) != USE)
    return -1;
  x5 = XVECEXP (x1, 0, 2);
  if (GET_CODE (x5) != CLOBBER)
    return -1;
  x6 = XEXP (x2, 0);
  operands[0] = x6;
  if (!register_operand (operands[0], SImode))
    return -1;
  x7 = XEXP (x3, 0);
  operands[3] = x7;
  x8 = XEXP (x4, 0);
  operands[4] = x8;
  x9 = XEXP (x5, 0);
  operands[1] = x9;
  x10 = XVECEXP (x1, 0, 3);
  x11 = XEXP (x10, 0);
  operands[2] = x11;
  switch (GET_MODE (operands[3]))
    {
    case SFmode:
      return pattern189 (V4SFmode, SFmode); /* [-1, 0] */

    case DFmode:
      if (pattern189 (V2DFmode, DFmode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern191 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1))
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[2], i1)
      || !nonimmediate_operand (operands[3], i1)
      || !register_operand (operands[1], i1))
    return -1;
  x4 = XVECEXP (x1, 0, 1);
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) != i1)
    return -1;
  return 0;
}

static int
pattern192 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 2);
  if (XVECLEN (x2, 0) != 1
      || XINT (x2, 1) != 34)
    return -1;
  x3 = XVECEXP (x2, 0, 0);
  if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case SImode:
      return pattern191 (x1, SImode); /* [-1, 0] */

    case DImode:
      if (pattern191 (x1, DImode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern193 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1))
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[2], i1)
      || !nonimmediate_operand (operands[3], i1)
      || !register_operand (operands[1], i1))
    return -1;
  x4 = XVECEXP (x1, 0, 1);
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) != i1
      || !register_operand (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern194 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 2);
  x3 = XEXP (x2, 0);
  operands[4] = x3;
  switch (GET_MODE (operands[0]))
    {
    case HImode:
      return pattern193 (x1, HImode); /* [-1, 0] */

    case SImode:
      if (pattern193 (x1, SImode) != 0)
        return -1;
      return 1;

    case DImode:
      if (pattern193 (x1, DImode) != 0)
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern195 (rtx x1, rtx_code i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != SET)
    return -1;
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) != i1)
    return -1;
  x4 = XVECEXP (x1, 0, 3);
  x5 = XEXP (x4, 0);
  if (GET_CODE (x5) != REG
      || REGNO (x5) != 17
      || GET_MODE (x5) != CCmode)
    return -1;
  x6 = XVECEXP (x1, 0, 0);
  x7 = XEXP (x6, 0);
  operands[0] = x7;
  x8 = XEXP (x6, 1);
  x9 = XEXP (x8, 0);
  operands[2] = x9;
  x10 = XEXP (x8, 1);
  operands[3] = x10;
  x11 = XEXP (x2, 0);
  operands[1] = x11;
  x12 = XEXP (x3, 0);
  if (!rtx_equal_p (x12, operands[2]))
    return -1;
  x13 = XEXP (x3, 1);
  if (!rtx_equal_p (x13, operands[3]))
    return -1;
  x14 = XVECEXP (x1, 0, 2);
  switch (GET_CODE (x14))
    {
    case UNSPEC:
      return pattern192 (x1); /* [-1, 1] */

    case USE:
      res = pattern194 (x1);
      if (res >= 0)
        return res + 2; /* [2, 4] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern196 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    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:
      operands[0] = x4;
      x5 = XEXP (x2, 0);
      if (GET_CODE (x5) != PC)
        return -1;
      x6 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x6) != CLOBBER)
        return -1;
      x7 = XEXP (x6, 0);
      if (GET_CODE (x7) != REG
          || REGNO (x7) != 18
          || GET_MODE (x7) != CCFPmode)
        return -1;
      x8 = XVECEXP (x1, 0, 2);
      if (GET_CODE (x8) != CLOBBER)
        return -1;
      x9 = XEXP (x8, 0);
      if (GET_CODE (x9) != REG
          || REGNO (x9) != 17
          || GET_MODE (x9) != CCFPmode)
        return -1;
      x10 = XEXP (x4, 0);
      operands[1] = x10;
      x11 = XVECEXP (x1, 0, 3);
      x12 = XEXP (x11, 0);
      if (!scratch_operand (x12, HImode))
        return -1;
      switch (GET_CODE (operands[1]))
        {
        case REG:
        case SUBREG:
          return 0;

        case FLOAT:
          return 1;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern197 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) != SImode)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != UNSPEC
      || XVECLEN (x4, 0) != 3
      || XINT (x4, 1) != 22
      || GET_MODE (x4) != SImode)
    return -1;
  x5 = XVECEXP (x4, 0, 2);
  if (GET_CODE (x5) != REG
      || REGNO (x5) != 7
      || GET_MODE (x5) != SImode)
    return -1;
  x6 = XEXP (x3, 1);
  if (GET_CODE (x6) != CONST
      || GET_MODE (x6) != SImode)
    return -1;
  x7 = XEXP (x6, 0);
  if (GET_CODE (x7) != UNSPEC
      || XVECLEN (x7, 0) != 1
      || XINT (x7, 1) != 6
      || GET_MODE (x7) != SImode)
    return -1;
  x8 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x8) != CLOBBER)
    return -1;
  x9 = XVECEXP (x1, 0, 2);
  if (GET_CODE (x9) != CLOBBER)
    return -1;
  x10 = XVECEXP (x1, 0, 3);
  x11 = XEXP (x10, 0);
  if (GET_CODE (x11) != REG
      || REGNO (x11) != 17
      || GET_MODE (x11) != CCmode)
    return -1;
  x12 = XEXP (x2, 0);
  operands[0] = x12;
  if (!register_operand (operands[0], SImode))
    return -1;
  x13 = XVECEXP (x4, 0, 0);
  operands[1] = x13;
  if (!register_operand (operands[1], SImode))
    return -1;
  x14 = XVECEXP (x4, 0, 1);
  operands[2] = x14;
  if (!constant_call_address_operand (operands[2], VOIDmode))
    return -1;
  x15 = XVECEXP (x7, 0, 0);
  operands[3] = x15;
  if (!tls_symbolic_operand (operands[3], VOIDmode))
    return -1;
  x16 = XEXP (x8, 0);
  operands[4] = x16;
  if (!scratch_operand (operands[4], SImode))
    return -1;
  x17 = XEXP (x9, 0);
  operands[5] = x17;
  if (!scratch_operand (operands[5], SImode))
    return -1;
  return 0;
}

static int
pattern198 (rtx x1, rtx_code i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != SET)
    return -1;
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) != i1)
    return -1;
  x4 = XVECEXP (x1, 0, 2);
  if (GET_CODE (x4) != UNSPEC
      || XVECLEN (x4, 0) != 1
      || XINT (x4, 1) != 34)
    return -1;
  x5 = XVECEXP (x4, 0, 0);
  if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x6 = XVECEXP (x1, 0, 3);
  x7 = XEXP (x6, 0);
  if (GET_CODE (x7) != REG
      || REGNO (x7) != 17
      || GET_MODE (x7) != CCmode)
    return -1;
  x8 = XVECEXP (x1, 0, 0);
  x9 = XEXP (x8, 0);
  operands[0] = x9;
  x10 = XEXP (x8, 1);
  x11 = XEXP (x10, 0);
  operands[2] = x11;
  x12 = XEXP (x10, 1);
  operands[3] = x12;
  x13 = XEXP (x2, 0);
  operands[1] = x13;
  x14 = XEXP (x3, 0);
  if (!rtx_equal_p (x14, operands[2]))
    return -1;
  x15 = XEXP (x3, 1);
  if (!rtx_equal_p (x15, operands[3]))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case SImode:
      return pattern191 (x1, SImode); /* [-1, 0] */

    case DImode:
      if (pattern191 (x1, DImode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern199 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!sse_reg_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  switch (GET_MODE (operands[1]))
    {
    case SImode:
      if (!nonimmediate_operand (operands[1], SImode))
        return -1;
      return 0;

    case DImode:
      if (!nonimmediate_operand (operands[1], DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern200 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !index_register_operand (operands[1], i1)
      || !register_operand (operands[2], i1)
      || !immediate_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern201 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  operands[1] = x3;
  x4 = XEXP (x2, 1);
  operands[2] = x4;
  x5 = XEXP (x1, 1);
  operands[3] = x5;
  switch (GET_MODE (operands[0]))
    {
    case QImode:
      return pattern200 (x1, QImode); /* [-1, 0] */

    case HImode:
      if (pattern200 (x1, HImode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern202 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i1
      || !index_register_operand (operands[1], i1)
      || !register_operand (operands[3], i1)
      || !immediate_operand (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern203 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 1);
  operands[3] = x3;
  x4 = XEXP (x1, 1);
  operands[4] = x4;
  switch (GET_MODE (operands[0]))
    {
    case QImode:
      return pattern202 (x1, QImode); /* [-1, 0] */

    case HImode:
      if (pattern202 (x1, HImode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern204 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  x5 = XEXP (x3, 1);
  operands[2] = x5;
  if (!const248_operand (operands[2], VOIDmode))
    return -1;
  return pattern203 (x1); /* [-1, 1] */
}

static int
pattern205 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  x5 = XEXP (x3, 1);
  operands[2] = x5;
  if (!const123_operand (operands[2], VOIDmode))
    return -1;
  return pattern203 (x1); /* [-1, 1] */
}

static int
pattern206 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  switch (GET_MODE (operands[1]))
    {
    case SFmode:
      if (!memory_operand (operands[1], SFmode))
        return -1;
      return 0;

    case DFmode:
      if (!memory_operand (operands[1], DFmode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern207 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[0]))
    {
    case HImode:
      if (!register_operand (operands[0], HImode)
          || GET_MODE (x1) != HImode)
        return -1;
      return 0;

    case QImode:
      if (!register_operand (operands[0], QImode)
          || GET_MODE (x1) != QImode)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern208 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  switch (GET_MODE (operands[1]))
    {
    case HImode:
      if (!nonimmediate_operand (operands[1], HImode))
        return -1;
      return 0;

    case SImode:
      if (!nonimmediate_operand (operands[1], SImode))
        return -1;
      return 1;

    case DImode:
      if (!nonimmediate_operand (operands[1], DImode))
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern209 (rtx x1, int *pnum_clobbers, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (pnum_clobbers == NULL
      || !nonimmediate_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !nonimmediate_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern210 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (GET_MODE (x1) != BLKmode
      || !memory_operand (operands[0], BLKmode))
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  operands[1] = x2;
  if (!register_operand (operands[1], SImode)
      || !register_operand (operands[2], SImode))
    return -1;
  return 0;
}

static int
pattern211 (rtx x1, int i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) != CONST
      || GET_MODE (x2) != SImode)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != UNSPEC
      || XVECLEN (x3, 0) != 1
      || XINT (x3, 1) != i1
      || GET_MODE (x3) != SImode
      || !register_operand (operands[0], SImode)
      || GET_MODE (x1) != SImode)
    return -1;
  return 0;
}

static int
pattern212 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[0]))
    {
    case SImode:
      if (!nonimmediate_operand (operands[0], SImode)
          || GET_MODE (x1) != SImode
          || !nonimmediate_operand (operands[1], SImode))
        return -1;
      return 0;

    case DImode:
      if (!nonimmediate_operand (operands[0], DImode)
          || GET_MODE (x1) != DImode
          || !nonimmediate_operand (operands[1], DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern213 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  if (XINT (x2, 1) != 0
      || GET_MODE (x2) != QImode)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != AND
      || GET_MODE (x3) != SImode)
    return -1;
  x4 = XEXP (x3, 0);
  operands[2] = x4;
  if (!register_operand (operands[2], SImode))
    return -1;
  x5 = XEXP (x3, 1);
  operands[3] = x5;
  if (!const_int_operand (operands[3], SImode))
    return -1;
  return pattern212 (x1); /* [-1, 1] */
}

static int
pattern214 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) != PARALLEL
      || XVECLEN (x2, 0) != 1)
    return -1;
  x3 = XVECEXP (x2, 0, 0);
  if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x4 = XEXP (x1, 0);
  operands[1] = x4;
  switch (GET_MODE (operands[0]))
    {
    case SImode:
      return 0;

    case DImode:
      return 1;

    default:
      return -1;
    }
}

static int
pattern215 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 2);
  switch (GET_CODE (x2))
    {
    case REG:
    case SUBREG:
      operands[4] = x2;
      x3 = XEXP (x1, 1);
      operands[3] = x3;
      switch (GET_MODE (operands[0]))
        {
        case V16SFmode:
          return pattern74 (x1, V16SFmode, HImode); /* [-1, 0] */

        case V8SFmode:
          if (pattern74 (x1, V8SFmode, QImode) != 0)
            return -1;
          return 1;

        case V4SFmode:
          if (pattern74 (x1, V4SFmode, QImode) != 0)
            return -1;
          return 2;

        case V8DFmode:
          if (pattern74 (x1, V8DFmode, QImode) != 0)
            return -1;
          return 3;

        case V4DFmode:
          if (pattern74 (x1, V4DFmode, QImode) != 0)
            return -1;
          return 4;

        case V2DFmode:
          if (pattern74 (x1, V2DFmode, QImode) != 0)
            return -1;
          return 5;

        case V64QImode:
          if (pattern76 (x1, V64QImode, DImode) != 0)
            return -1;
          return 6;

        case V32QImode:
          if (pattern76 (x1, V32QImode, SImode) != 0)
            return -1;
          return 7;

        case V16QImode:
          if (pattern76 (x1, V16QImode, HImode) != 0)
            return -1;
          return 8;

        case V32HImode:
          if (pattern76 (x1, V32HImode, SImode) != 0)
            return -1;
          return 9;

        case V16HImode:
          if (pattern76 (x1, V16HImode, HImode) != 0)
            return -1;
          return 10;

        case V8HImode:
          if (pattern76 (x1, V8HImode, QImode) != 0)
            return -1;
          return 11;

        case V16SImode:
          if (pattern76 (x1, V16SImode, HImode) != 0)
            return -1;
          return 12;

        case V8SImode:
          if (pattern76 (x1, V8SImode, QImode) != 0)
            return -1;
          return 13;

        case V4SImode:
          if (pattern76 (x1, V4SImode, QImode) != 0)
            return -1;
          return 14;

        case V8DImode:
          if (pattern76 (x1, V8DImode, QImode) != 0)
            return -1;
          return 15;

        case V4DImode:
          if (pattern76 (x1, V4DImode, QImode) != 0)
            return -1;
          return 16;

        case V2DImode:
          if (pattern76 (x1, V2DImode, QImode) != 0)
            return -1;
          return 17;

        default:
          return -1;
        }

    case CONST_INT:
      res = pattern79 (x1);
      if (res >= 0)
        return res + 18; /* [18, 19] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern216 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2
      || !register_operand (operands[1], i2)
      || !vector_operand (operands[2], i2)
      || !vector_move_operand (operands[3], i2)
      || !register_operand (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern217 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XVECEXP (x2, 0, 0);
  operands[1] = x3;
  x4 = XVECEXP (x2, 0, 1);
  operands[2] = x4;
  x5 = XEXP (x1, 1);
  operands[3] = x5;
  x6 = XEXP (x1, 2);
  operands[4] = x6;
  switch (GET_MODE (operands[0]))
    {
    case V16SFmode:
      return pattern216 (x1, HImode, V16SFmode); /* [-1, 0] */

    case V8SFmode:
      if (pattern216 (x1, QImode, V8SFmode) != 0)
        return -1;
      return 1;

    case V4SFmode:
      if (pattern216 (x1, QImode, V4SFmode) != 0)
        return -1;
      return 2;

    case V8DFmode:
      if (pattern216 (x1, QImode, V8DFmode) != 0)
        return -1;
      return 3;

    case V4DFmode:
      if (pattern216 (x1, QImode, V4DFmode) != 0)
        return -1;
      return 4;

    case V2DFmode:
      if (pattern216 (x1, QImode, V2DFmode) != 0)
        return -1;
      return 5;

    default:
      return -1;
    }
}

static int
pattern218 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != V32HImode
      || !register_operand (operands[0], V32HImode)
      || GET_MODE (x1) != V32HImode)
    return -1;
  x3 = XVECEXP (x2, 0, 0);
  operands[1] = x3;
  if (!nonimmediate_operand (operands[1], V32HImode))
    return -1;
  x4 = XVECEXP (x2, 0, 1);
  operands[2] = x4;
  if (!const_0_to_255_operand (operands[2], SImode))
    return -1;
  x5 = XEXP (x1, 1);
  operands[3] = x5;
  if (!vector_move_operand (operands[3], V32HImode))
    return -1;
  x6 = XEXP (x1, 2);
  operands[4] = x6;
  if (!register_operand (operands[4], SImode))
    return -1;
  return 0;
}

static int
pattern219 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2
      || !register_operand (operands[3], i2)
      || !register_operand (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern220 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XVECEXP (x2, 0, 0);
  operands[1] = x3;
  if (!register_operand (operands[1], V64SFmode))
    return -1;
  x4 = XVECEXP (x2, 0, 1);
  operands[2] = x4;
  if (!memory_operand (operands[2], V4SFmode))
    return -1;
  x5 = XEXP (x1, 1);
  operands[3] = x5;
  x6 = XEXP (x1, 2);
  operands[4] = x6;
  switch (GET_MODE (operands[0]))
    {
    case V16SFmode:
      return pattern219 (x1, HImode, V16SFmode); /* [-1, 0] */

    case V4SFmode:
      if (pattern219 (x1, QImode, V4SFmode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern221 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != V16SImode
      || !register_operand (operands[0], V16SImode)
      || GET_MODE (x1) != V16SImode)
    return -1;
  x3 = XVECEXP (x2, 0, 0);
  operands[1] = x3;
  if (!register_operand (operands[1], V64SImode))
    return -1;
  x4 = XVECEXP (x2, 0, 1);
  operands[2] = x4;
  if (!memory_operand (operands[2], V4SImode))
    return -1;
  x5 = XEXP (x1, 1);
  operands[3] = x5;
  if (!register_operand (operands[3], V16SImode))
    return -1;
  x6 = XEXP (x1, 2);
  operands[4] = x6;
  if (!register_operand (operands[4], HImode))
    return -1;
  return 0;
}

static int
pattern222 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (GET_CODE (x1) != CONST_VECTOR
      || XVECLEN (x1, 0) != 2
      || GET_MODE (x1) != V2SImode)
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x3 = XVECEXP (x1, 0, 1);
  if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  return 0;
}

static int
pattern223 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  if (!vector_operand (operands[1], V2DFmode))
    return -1;
  return 0;
}

static int
pattern224 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i3)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i1)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != i1
      || !register_operand (operands[1], i2))
    return -1;
  x5 = XEXP (x3, 1);
  if (GET_MODE (x5) != i1)
    return -1;
  x6 = XEXP (x2, 1);
  if (GET_MODE (x6) != i1)
    return -1;
  x7 = XEXP (x6, 0);
  if (GET_MODE (x7) != i1)
    return -1;
  x8 = XEXP (x6, 1);
  if (GET_MODE (x8) != i1)
    return -1;
  x9 = XEXP (x1, 1);
  if (GET_MODE (x9) != i3)
    return -1;
  x10 = XEXP (x9, 0);
  if (GET_MODE (x10) != i1)
    return -1;
  x11 = XEXP (x10, 0);
  if (GET_MODE (x11) != i1
      || !vector_operand (operands[2], i2))
    return -1;
  x12 = XEXP (x10, 1);
  if (GET_MODE (x12) != i1)
    return -1;
  x13 = XEXP (x9, 1);
  if (GET_MODE (x13) != i1)
    return -1;
  x14 = XEXP (x13, 0);
  if (GET_MODE (x14) != i1)
    return -1;
  x15 = XEXP (x13, 1);
  if (GET_MODE (x15) != i1)
    return -1;
  return 0;
}

static int
pattern225 (rtx x1, rtx_code i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19, x20, x21, x22, x23, x24, x25;
  rtx x26, x27, x28, x29, x30, x31, x32, x33;
  rtx x34, x35, x36, x37, x38, x39;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != VEC_SELECT)
    return -1;
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) != PARALLEL
      || XVECLEN (x5, 0) != 1)
    return -1;
  x6 = XVECEXP (x5, 0, 0);
  if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x7 = XEXP (x3, 1);
  if (GET_CODE (x7) != VEC_SELECT)
    return -1;
  x8 = XEXP (x7, 1);
  if (GET_CODE (x8) != PARALLEL
      || XVECLEN (x8, 0) != 1)
    return -1;
  x9 = XVECEXP (x8, 0, 0);
  if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x10 = XEXP (x2, 1);
  if (GET_CODE (x10) != i1)
    return -1;
  x11 = XEXP (x10, 0);
  if (GET_CODE (x11) != VEC_SELECT)
    return -1;
  x12 = XEXP (x11, 1);
  if (GET_CODE (x12) != PARALLEL
      || XVECLEN (x12, 0) != 1)
    return -1;
  x13 = XVECEXP (x12, 0, 0);
  if (GET_CODE (x13) != CONST_INT)
    return -1;
  x14 = XEXP (x10, 1);
  if (GET_CODE (x14) != VEC_SELECT)
    return -1;
  x15 = XEXP (x14, 1);
  if (GET_CODE (x15) != PARALLEL
      || XVECLEN (x15, 0) != 1)
    return -1;
  x16 = XVECEXP (x15, 0, 0);
  if (GET_CODE (x16) != CONST_INT)
    return -1;
  x17 = XEXP (x1, 1);
  x18 = XEXP (x17, 0);
  if (GET_CODE (x18) != i1)
    return -1;
  x19 = XEXP (x18, 0);
  if (GET_CODE (x19) != VEC_SELECT)
    return -1;
  x20 = XEXP (x19, 1);
  if (GET_CODE (x20) != PARALLEL
      || XVECLEN (x20, 0) != 1)
    return -1;
  x21 = XVECEXP (x20, 0, 0);
  if (GET_CODE (x21) != CONST_INT)
    return -1;
  x22 = XEXP (x18, 1);
  if (GET_CODE (x22) != VEC_SELECT)
    return -1;
  x23 = XEXP (x22, 1);
  if (GET_CODE (x23) != PARALLEL
      || XVECLEN (x23, 0) != 1)
    return -1;
  x24 = XVECEXP (x23, 0, 0);
  if (GET_CODE (x24) != CONST_INT)
    return -1;
  x25 = XEXP (x17, 1);
  if (GET_CODE (x25) != i1)
    return -1;
  x26 = XEXP (x25, 0);
  if (GET_CODE (x26) != VEC_SELECT)
    return -1;
  x27 = XEXP (x26, 1);
  if (GET_CODE (x27) != PARALLEL
      || XVECLEN (x27, 0) != 1)
    return -1;
  x28 = XVECEXP (x27, 0, 0);
  if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
    return -1;
  x29 = XEXP (x25, 1);
  if (GET_CODE (x29) != VEC_SELECT)
    return -1;
  x30 = XEXP (x29, 1);
  if (GET_CODE (x30) != PARALLEL
      || XVECLEN (x30, 0) != 1)
    return -1;
  x31 = XVECEXP (x30, 0, 0);
  if (x31 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
    return -1;
  x32 = XEXP (x4, 0);
  operands[1] = x32;
  x33 = XEXP (x7, 0);
  if (!rtx_equal_p (x33, operands[1]))
    return -1;
  switch (XWINT (x13, 0))
    {
    case 0LL:
      if (XWINT (x16, 0) != 1LL
          || XWINT (x21, 0) != 2LL
          || XWINT (x24, 0) != 3LL
          || !register_operand (operands[0], V4DFmode)
          || GET_MODE (x1) != V4DFmode
          || GET_MODE (x2) != V2DFmode
          || GET_MODE (x3) != DFmode
          || GET_MODE (x4) != DFmode
          || !register_operand (operands[1], V4DFmode)
          || GET_MODE (x7) != DFmode
          || GET_MODE (x10) != DFmode
          || GET_MODE (x11) != DFmode)
        return -1;
      x34 = XEXP (x11, 0);
      operands[2] = x34;
      if (!nonimmediate_operand (operands[2], V4DFmode)
          || GET_MODE (x14) != DFmode
          || GET_MODE (x17) != V2DFmode
          || GET_MODE (x18) != DFmode
          || GET_MODE (x19) != DFmode
          || GET_MODE (x22) != DFmode
          || GET_MODE (x25) != DFmode
          || GET_MODE (x26) != DFmode
          || GET_MODE (x29) != DFmode)
        return -1;
      x35 = XEXP (x14, 0);
      if (!rtx_equal_p (x35, operands[2]))
        return -1;
      x36 = XEXP (x19, 0);
      if (!rtx_equal_p (x36, operands[1]))
        return -1;
      x37 = XEXP (x22, 0);
      if (!rtx_equal_p (x37, operands[1]))
        return -1;
      x38 = XEXP (x26, 0);
      if (!rtx_equal_p (x38, operands[2]))
        return -1;
      x39 = XEXP (x29, 0);
      if (!rtx_equal_p (x39, operands[2]))
        return -1;
      return 0;

    case 2LL:
      if (XWINT (x16, 0) != 3LL
          || XWINT (x21, 0) != 0LL
          || XWINT (x24, 0) != 1LL)
        return -1;
      x36 = XEXP (x19, 0);
      operands[2] = x36;
      x34 = XEXP (x11, 0);
      if (!rtx_equal_p (x34, operands[1]))
        return -1;
      x35 = XEXP (x14, 0);
      if (!rtx_equal_p (x35, operands[1]))
        return -1;
      x37 = XEXP (x22, 0);
      if (!rtx_equal_p (x37, operands[2]))
        return -1;
      x38 = XEXP (x26, 0);
      if (!rtx_equal_p (x38, operands[2]))
        return -1;
      x39 = XEXP (x29, 0);
      if (!rtx_equal_p (x39, operands[2]))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case V4SFmode:
          if (pattern224 (x1, SFmode, V4SFmode, V2SFmode) != 0)
            return -1;
          return 1;

        case V4SImode:
          if (pattern224 (x1, SImode, V4SImode, V2SImode) != 0)
            return -1;
          return 2;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern226 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) != PARALLEL
      || XVECLEN (x2, 0) != 1)
    return -1;
  x3 = XVECEXP (x2, 0, 0);
  if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  return 0;
}

static int
pattern227 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != V2SFmode)
    return -1;
  x4 = XEXP (x1, 1);
  if (GET_CODE (x4) != CONST_VECTOR
      || XVECLEN (x4, 0) != 2
      || GET_MODE (x4) != V2SFmode)
    return -1;
  x5 = XVECEXP (x4, 0, 0);
  if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x6 = XVECEXP (x4, 0, 1);
  if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
      || !register_operand (operands[0], V4SFmode)
      || GET_MODE (x1) != V4SFmode
      || GET_MODE (x2) != V2SFmode)
    return -1;
  x7 = XEXP (x3, 0);
  operands[1] = x7;
  if (!nonimmediate_operand (operands[1], V2DImode))
    return -1;
  x8 = XEXP (x2, 1);
  if (GET_MODE (x8) != V2SFmode)
    return -1;
  switch (GET_CODE (x8))
    {
    case VEC_SELECT:
      x9 = XEXP (x8, 1);
      if (GET_CODE (x9) != PARALLEL
          || XVECLEN (x9, 0) != 2)
        return -1;
      x10 = XVECEXP (x9, 0, 0);
      if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x11 = XVECEXP (x9, 0, 1);
      if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
        return -1;
      x12 = XEXP (x8, 0);
      operands[2] = x12;
      if (!vector_move_operand (operands[2], V4SFmode))
        return -1;
      x13 = XEXP (x2, 2);
      operands[3] = x13;
      return 0;

    case CONST_VECTOR:
      if (XVECLEN (x8, 0) != 2)
        return -1;
      x14 = XVECEXP (x8, 0, 0);
      if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x15 = XVECEXP (x8, 0, 1);
      if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x13 = XEXP (x2, 2);
      operands[2] = x13;
      return 1;

    default:
      return -1;
    }
}

static int
pattern228 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i2)
    return -1;
  x4 = XEXP (x2, 1);
  if (GET_MODE (x4) != i2
      || !vector_move_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern229 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  if (!memory_operand (operands[0], i3)
      || GET_MODE (x1) != i3)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i2)
    return -1;
  x4 = XEXP (x2, 1);
  if (GET_MODE (x4) != i2)
    return -1;
  x5 = XEXP (x1, 1);
  if (GET_MODE (x5) != i1)
    return -1;
  return 0;
}

static int
pattern230 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i2)
    return -1;
  x4 = XEXP (x2, 1);
  if (GET_MODE (x4) != i2
      || !vector_move_operand (operands[2], i1))
    return -1;
  switch (GET_MODE (operands[1]))
    {
    case V4SImode:
      if (!register_operand (operands[1], V4SImode))
        return -1;
      return 0;

    case V4DImode:
      if (!register_operand (operands[1], V4DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern231 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (GET_MODE (x1) != i1)
    return -1;
  switch (GET_MODE (operands[1]))
    {
    case V4SImode:
      if (!register_operand (operands[1], V4SImode))
        return -1;
      return 0;

    case V4DImode:
      if (!register_operand (operands[1], V4DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern232 ()
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[1]))
    {
    case V8HImode:
      if (!register_operand (operands[1], V8HImode))
        return -1;
      return 0;

    case V8SImode:
      if (!register_operand (operands[1], V8SImode))
        return -1;
      return 1;

    case V8DImode:
      if (!register_operand (operands[1], V8DImode))
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern233 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i1)
    return -1;
  x4 = XEXP (x2, 1);
  if (GET_MODE (x4) != i1)
    return -1;
  return 0;
}

static int
pattern234 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i1)
    return -1;
  x4 = XEXP (x2, 1);
  if (GET_MODE (x4) != i1)
    return -1;
  switch (GET_MODE (operands[1]))
    {
    case V4SImode:
      if (!register_operand (operands[1], V4SImode))
        return -1;
      return 0;

    case V4DImode:
      if (!register_operand (operands[1], V4DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern235 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19, x20, x21, x22, x23, x24, x25;
  rtx x26, x27, x28, x29, x30, x31, x32, x33;
  rtx x34, x35, x36, x37, x38, x39, x40, x41;
  rtx x42, x43, x44, x45, x46, x47, x48, x49;
  rtx x50, x51, x52, x53, x54, x55;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  x5 = XEXP (x2, 1);
  switch (GET_CODE (x5))
    {
    case VEC_SELECT:
      x6 = XEXP (x5, 1);
      if (GET_CODE (x6) != PARALLEL)
        return -1;
      switch (XVECLEN (x6, 0))
        {
        case 2:
          x7 = XVECEXP (x6, 0, 0);
          if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x8 = XVECEXP (x6, 0, 1);
          if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
              || !register_operand (operands[1], V2DImode))
            return -1;
          x9 = XEXP (x1, 1);
          switch (GET_CODE (x9))
            {
            case CONST_VECTOR:
              x10 = XEXP (x5, 0);
              operands[2] = x10;
              x11 = XEXP (x2, 2);
              operands[3] = x11;
              switch (XVECLEN (x9, 0))
                {
                case 14:
                  if (GET_MODE (x9) != V14QImode)
                    return -1;
                  x12 = XVECEXP (x9, 0, 0);
                  if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                    return -1;
                  x13 = XVECEXP (x9, 0, 1);
                  if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                    return -1;
                  x14 = XVECEXP (x9, 0, 2);
                  if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                    return -1;
                  x15 = XVECEXP (x9, 0, 3);
                  if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                    return -1;
                  x16 = XVECEXP (x9, 0, 4);
                  if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                    return -1;
                  x17 = XVECEXP (x9, 0, 5);
                  if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                    return -1;
                  x18 = XVECEXP (x9, 0, 6);
                  if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                    return -1;
                  x19 = XVECEXP (x9, 0, 7);
                  if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                    return -1;
                  x20 = XVECEXP (x9, 0, 8);
                  if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                    return -1;
                  x21 = XVECEXP (x9, 0, 9);
                  if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                    return -1;
                  x22 = XVECEXP (x9, 0, 10);
                  if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                    return -1;
                  x23 = XVECEXP (x9, 0, 11);
                  if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                    return -1;
                  x24 = XVECEXP (x9, 0, 12);
                  if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                    return -1;
                  x25 = XVECEXP (x9, 0, 13);
                  if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
                      || pattern228 (x1, V16QImode, V2QImode) != 0)
                    return -1;
                  return 0;

                case 6:
                  if (GET_MODE (x9) != V6HImode)
                    return -1;
                  x12 = XVECEXP (x9, 0, 0);
                  if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                    return -1;
                  x13 = XVECEXP (x9, 0, 1);
                  if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                    return -1;
                  x14 = XVECEXP (x9, 0, 2);
                  if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                    return -1;
                  x15 = XVECEXP (x9, 0, 3);
                  if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                    return -1;
                  x16 = XVECEXP (x9, 0, 4);
                  if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                    return -1;
                  x17 = XVECEXP (x9, 0, 5);
                  if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
                      || pattern228 (x1, V8HImode, V2HImode) != 0)
                    return -1;
                  return 1;

                case 2:
                  if (GET_MODE (x9) != V2SImode)
                    return -1;
                  x12 = XVECEXP (x9, 0, 0);
                  if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                    return -1;
                  x13 = XVECEXP (x9, 0, 1);
                  if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
                      || pattern228 (x1, V4SImode, V2SImode) != 0)
                    return -1;
                  return 2;

                default:
                  return -1;
                }

            case VEC_SELECT:
              x26 = XEXP (x9, 1);
              if (GET_CODE (x26) != PARALLEL)
                return -1;
              x11 = XEXP (x2, 2);
              operands[2] = x11;
              x10 = XEXP (x5, 0);
              if (!rtx_equal_p (x10, operands[0]))
                return -1;
              x27 = XEXP (x9, 0);
              if (!rtx_equal_p (x27, operands[0]))
                return -1;
              switch (XVECLEN (x26, 0))
                {
                case 14:
                  x28 = XVECEXP (x26, 0, 0);
                  if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
                    return -1;
                  x29 = XVECEXP (x26, 0, 1);
                  if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
                    return -1;
                  x30 = XVECEXP (x26, 0, 2);
                  if (x30 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
                    return -1;
                  x31 = XVECEXP (x26, 0, 3);
                  if (x31 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
                    return -1;
                  x32 = XVECEXP (x26, 0, 4);
                  if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
                    return -1;
                  x33 = XVECEXP (x26, 0, 5);
                  if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
                    return -1;
                  x34 = XVECEXP (x26, 0, 6);
                  if (x34 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
                    return -1;
                  x35 = XVECEXP (x26, 0, 7);
                  if (x35 != const_int_rtx[MAX_SAVED_CONST_INT + 9])
                    return -1;
                  x36 = XVECEXP (x26, 0, 8);
                  if (x36 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
                    return -1;
                  x37 = XVECEXP (x26, 0, 9);
                  if (x37 != const_int_rtx[MAX_SAVED_CONST_INT + 11])
                    return -1;
                  x38 = XVECEXP (x26, 0, 10);
                  if (x38 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
                    return -1;
                  x39 = XVECEXP (x26, 0, 11);
                  if (x39 != const_int_rtx[MAX_SAVED_CONST_INT + 13])
                    return -1;
                  x40 = XVECEXP (x26, 0, 12);
                  if (x40 != const_int_rtx[MAX_SAVED_CONST_INT + 14])
                    return -1;
                  x41 = XVECEXP (x26, 0, 13);
                  if (x41 != const_int_rtx[MAX_SAVED_CONST_INT + 15]
                      || pattern229 (x1, V14QImode, V2QImode, V16QImode) != 0)
                    return -1;
                  return 3;

                case 6:
                  x28 = XVECEXP (x26, 0, 0);
                  if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
                    return -1;
                  x29 = XVECEXP (x26, 0, 1);
                  if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
                    return -1;
                  x30 = XVECEXP (x26, 0, 2);
                  if (x30 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
                    return -1;
                  x31 = XVECEXP (x26, 0, 3);
                  if (x31 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
                    return -1;
                  x32 = XVECEXP (x26, 0, 4);
                  if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
                    return -1;
                  x33 = XVECEXP (x26, 0, 5);
                  if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
                      || pattern229 (x1, V6HImode, V2HImode, V8HImode) != 0)
                    return -1;
                  return 4;

                case 2:
                  x28 = XVECEXP (x26, 0, 0);
                  if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
                    return -1;
                  x29 = XVECEXP (x26, 0, 1);
                  if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 3]
                      || !memory_operand (operands[0], V4SImode)
                      || GET_MODE (x1) != V4SImode
                      || GET_MODE (x2) != V2SImode
                      || GET_MODE (x3) != V2SImode
                      || GET_MODE (x5) != V2SImode
                      || GET_MODE (x9) != V2SImode)
                    return -1;
                  return 5;

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case 4:
          x7 = XVECEXP (x6, 0, 0);
          if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x8 = XVECEXP (x6, 0, 1);
          if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
            return -1;
          x42 = XVECEXP (x6, 0, 2);
          if (x42 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
            return -1;
          x43 = XVECEXP (x6, 0, 3);
          if (x43 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
            return -1;
          x9 = XEXP (x1, 1);
          switch (GET_CODE (x9))
            {
            case CONST_VECTOR:
              x10 = XEXP (x5, 0);
              operands[2] = x10;
              x11 = XEXP (x2, 2);
              operands[3] = x11;
              switch (XVECLEN (x9, 0))
                {
                case 12:
                  if (GET_MODE (x9) != V12QImode)
                    return -1;
                  x12 = XVECEXP (x9, 0, 0);
                  if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                    return -1;
                  x13 = XVECEXP (x9, 0, 1);
                  if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                    return -1;
                  x14 = XVECEXP (x9, 0, 2);
                  if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                    return -1;
                  x15 = XVECEXP (x9, 0, 3);
                  if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                    return -1;
                  x16 = XVECEXP (x9, 0, 4);
                  if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                    return -1;
                  x17 = XVECEXP (x9, 0, 5);
                  if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                    return -1;
                  x18 = XVECEXP (x9, 0, 6);
                  if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                    return -1;
                  x19 = XVECEXP (x9, 0, 7);
                  if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                    return -1;
                  x20 = XVECEXP (x9, 0, 8);
                  if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                    return -1;
                  x21 = XVECEXP (x9, 0, 9);
                  if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                    return -1;
                  x22 = XVECEXP (x9, 0, 10);
                  if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                    return -1;
                  x23 = XVECEXP (x9, 0, 11);
                  if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                    return -1;
                  res = pattern230 (x1, V16QImode, V4QImode);
                  if (res >= 0)
                    return res + 6; /* [6, 7] */
                  return -1;

                case 4:
                  if (GET_MODE (x9) != V4HImode)
                    return -1;
                  x12 = XVECEXP (x9, 0, 0);
                  if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                    return -1;
                  x13 = XVECEXP (x9, 0, 1);
                  if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                    return -1;
                  x14 = XVECEXP (x9, 0, 2);
                  if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                    return -1;
                  x15 = XVECEXP (x9, 0, 3);
                  if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                    return -1;
                  res = pattern230 (x1, V8HImode, V4HImode);
                  if (res >= 0)
                    return res + 8; /* [8, 9] */
                  return -1;

                default:
                  return -1;
                }

            case VEC_SELECT:
              x26 = XEXP (x9, 1);
              if (GET_CODE (x26) != PARALLEL)
                return -1;
              x11 = XEXP (x2, 2);
              operands[2] = x11;
              x10 = XEXP (x5, 0);
              if (!rtx_equal_p (x10, operands[0]))
                return -1;
              x27 = XEXP (x9, 0);
              if (!rtx_equal_p (x27, operands[0]))
                return -1;
              switch (XVECLEN (x26, 0))
                {
                case 12:
                  x28 = XVECEXP (x26, 0, 0);
                  if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
                    return -1;
                  x29 = XVECEXP (x26, 0, 1);
                  if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
                    return -1;
                  x30 = XVECEXP (x26, 0, 2);
                  if (x30 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
                    return -1;
                  x31 = XVECEXP (x26, 0, 3);
                  if (x31 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
                    return -1;
                  x32 = XVECEXP (x26, 0, 4);
                  if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
                    return -1;
                  x33 = XVECEXP (x26, 0, 5);
                  if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 9])
                    return -1;
                  x34 = XVECEXP (x26, 0, 6);
                  if (x34 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
                    return -1;
                  x35 = XVECEXP (x26, 0, 7);
                  if (x35 != const_int_rtx[MAX_SAVED_CONST_INT + 11])
                    return -1;
                  x36 = XVECEXP (x26, 0, 8);
                  if (x36 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
                    return -1;
                  x37 = XVECEXP (x26, 0, 9);
                  if (x37 != const_int_rtx[MAX_SAVED_CONST_INT + 13])
                    return -1;
                  x38 = XVECEXP (x26, 0, 10);
                  if (x38 != const_int_rtx[MAX_SAVED_CONST_INT + 14])
                    return -1;
                  x39 = XVECEXP (x26, 0, 11);
                  if (x39 != const_int_rtx[MAX_SAVED_CONST_INT + 15]
                      || !memory_operand (operands[0], V16QImode)
                      || GET_MODE (x1) != V16QImode
                      || GET_MODE (x2) != V4QImode
                      || GET_MODE (x3) != V4QImode
                      || GET_MODE (x5) != V4QImode)
                    return -1;
                  res = pattern231 (x9, V12QImode);
                  if (res >= 0)
                    return res + 10; /* [10, 11] */
                  return -1;

                case 4:
                  x28 = XVECEXP (x26, 0, 0);
                  if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
                    return -1;
                  x29 = XVECEXP (x26, 0, 1);
                  if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
                    return -1;
                  x30 = XVECEXP (x26, 0, 2);
                  if (x30 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
                    return -1;
                  x31 = XVECEXP (x26, 0, 3);
                  if (x31 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
                      || !memory_operand (operands[0], V8HImode)
                      || GET_MODE (x1) != V8HImode
                      || GET_MODE (x2) != V4HImode
                      || GET_MODE (x3) != V4HImode
                      || GET_MODE (x5) != V4HImode)
                    return -1;
                  res = pattern231 (x9, V4HImode);
                  if (res >= 0)
                    return res + 12; /* [12, 13] */
                  return -1;

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case 8:
          x7 = XVECEXP (x6, 0, 0);
          if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x8 = XVECEXP (x6, 0, 1);
          if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
            return -1;
          x42 = XVECEXP (x6, 0, 2);
          if (x42 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
            return -1;
          x43 = XVECEXP (x6, 0, 3);
          if (x43 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
            return -1;
          x44 = XVECEXP (x6, 0, 4);
          if (x44 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
            return -1;
          x45 = XVECEXP (x6, 0, 5);
          if (x45 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
            return -1;
          x46 = XVECEXP (x6, 0, 6);
          if (x46 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
            return -1;
          x47 = XVECEXP (x6, 0, 7);
          if (x47 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
              || GET_MODE (x1) != V16QImode
              || GET_MODE (x2) != V8QImode
              || GET_MODE (x3) != V8QImode
              || GET_MODE (x5) != V8QImode)
            return -1;
          x9 = XEXP (x1, 1);
          if (GET_MODE (x9) != V8QImode)
            return -1;
          switch (GET_CODE (x9))
            {
            case CONST_VECTOR:
              if (XVECLEN (x9, 0) != 8)
                return -1;
              x12 = XVECEXP (x9, 0, 0);
              if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                return -1;
              x13 = XVECEXP (x9, 0, 1);
              if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                return -1;
              x14 = XVECEXP (x9, 0, 2);
              if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                return -1;
              x15 = XVECEXP (x9, 0, 3);
              if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                return -1;
              x16 = XVECEXP (x9, 0, 4);
              if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                return -1;
              x17 = XVECEXP (x9, 0, 5);
              if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                return -1;
              x18 = XVECEXP (x9, 0, 6);
              if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                return -1;
              x19 = XVECEXP (x9, 0, 7);
              if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
                  || !register_operand (operands[0], V16QImode))
                return -1;
              x10 = XEXP (x5, 0);
              operands[2] = x10;
              if (!vector_move_operand (operands[2], V16QImode))
                return -1;
              x11 = XEXP (x2, 2);
              operands[3] = x11;
              res = pattern232 ();
              if (res >= 0)
                return res + 14; /* [14, 16] */
              return -1;

            case VEC_SELECT:
              x26 = XEXP (x9, 1);
              if (GET_CODE (x26) != PARALLEL
                  || XVECLEN (x26, 0) != 8)
                return -1;
              x28 = XVECEXP (x26, 0, 0);
              if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
                return -1;
              x29 = XVECEXP (x26, 0, 1);
              if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 9])
                return -1;
              x30 = XVECEXP (x26, 0, 2);
              if (x30 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
                return -1;
              x31 = XVECEXP (x26, 0, 3);
              if (x31 != const_int_rtx[MAX_SAVED_CONST_INT + 11])
                return -1;
              x32 = XVECEXP (x26, 0, 4);
              if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
                return -1;
              x33 = XVECEXP (x26, 0, 5);
              if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 13])
                return -1;
              x34 = XVECEXP (x26, 0, 6);
              if (x34 != const_int_rtx[MAX_SAVED_CONST_INT + 14])
                return -1;
              x35 = XVECEXP (x26, 0, 7);
              if (x35 != const_int_rtx[MAX_SAVED_CONST_INT + 15]
                  || !memory_operand (operands[0], V16QImode))
                return -1;
              x11 = XEXP (x2, 2);
              operands[2] = x11;
              x10 = XEXP (x5, 0);
              if (!rtx_equal_p (x10, operands[0]))
                return -1;
              x27 = XEXP (x9, 0);
              if (!rtx_equal_p (x27, operands[0]))
                return -1;
              res = pattern232 ();
              if (res >= 0)
                return res + 17; /* [17, 19] */
              return -1;

            default:
              return -1;
            }

        default:
          return -1;
        }

    case CONST_VECTOR:
      x9 = XEXP (x1, 1);
      if (GET_CODE (x9) != CONST_VECTOR)
        return -1;
      x11 = XEXP (x2, 2);
      operands[2] = x11;
      switch (XVECLEN (x5, 0))
        {
        case 2:
          x48 = XVECEXP (x5, 0, 0);
          if (x48 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x49 = XVECEXP (x5, 0, 1);
          if (x49 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
              || !register_operand (operands[1], V2DImode))
            return -1;
          switch (XVECLEN (x9, 0))
            {
            case 14:
              if (GET_MODE (x9) != V14QImode)
                return -1;
              x12 = XVECEXP (x9, 0, 0);
              if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                return -1;
              x13 = XVECEXP (x9, 0, 1);
              if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                return -1;
              x14 = XVECEXP (x9, 0, 2);
              if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                return -1;
              x15 = XVECEXP (x9, 0, 3);
              if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                return -1;
              x16 = XVECEXP (x9, 0, 4);
              if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                return -1;
              x17 = XVECEXP (x9, 0, 5);
              if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                return -1;
              x18 = XVECEXP (x9, 0, 6);
              if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                return -1;
              x19 = XVECEXP (x9, 0, 7);
              if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                return -1;
              x20 = XVECEXP (x9, 0, 8);
              if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                return -1;
              x21 = XVECEXP (x9, 0, 9);
              if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                return -1;
              x22 = XVECEXP (x9, 0, 10);
              if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                return -1;
              x23 = XVECEXP (x9, 0, 11);
              if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                return -1;
              x24 = XVECEXP (x9, 0, 12);
              if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                return -1;
              x25 = XVECEXP (x9, 0, 13);
              if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
                  || pattern233 (x1, V2QImode, V16QImode) != 0)
                return -1;
              return 20;

            case 6:
              if (GET_MODE (x9) != V6HImode)
                return -1;
              x12 = XVECEXP (x9, 0, 0);
              if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                return -1;
              x13 = XVECEXP (x9, 0, 1);
              if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                return -1;
              x14 = XVECEXP (x9, 0, 2);
              if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                return -1;
              x15 = XVECEXP (x9, 0, 3);
              if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                return -1;
              x16 = XVECEXP (x9, 0, 4);
              if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                return -1;
              x17 = XVECEXP (x9, 0, 5);
              if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
                  || pattern233 (x1, V2HImode, V8HImode) != 0)
                return -1;
              return 21;

            case 2:
              if (GET_MODE (x9) != V2SImode)
                return -1;
              x12 = XVECEXP (x9, 0, 0);
              if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                return -1;
              x13 = XVECEXP (x9, 0, 1);
              if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
                  || pattern233 (x1, V2SImode, V4SImode) != 0)
                return -1;
              return 22;

            default:
              return -1;
            }

        case 4:
          x48 = XVECEXP (x5, 0, 0);
          if (x48 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x49 = XVECEXP (x5, 0, 1);
          if (x49 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x50 = XVECEXP (x5, 0, 2);
          if (x50 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x51 = XVECEXP (x5, 0, 3);
          if (x51 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          switch (XVECLEN (x9, 0))
            {
            case 12:
              if (GET_MODE (x9) != V12QImode)
                return -1;
              x12 = XVECEXP (x9, 0, 0);
              if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                return -1;
              x13 = XVECEXP (x9, 0, 1);
              if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                return -1;
              x14 = XVECEXP (x9, 0, 2);
              if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                return -1;
              x15 = XVECEXP (x9, 0, 3);
              if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                return -1;
              x16 = XVECEXP (x9, 0, 4);
              if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                return -1;
              x17 = XVECEXP (x9, 0, 5);
              if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                return -1;
              x18 = XVECEXP (x9, 0, 6);
              if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                return -1;
              x19 = XVECEXP (x9, 0, 7);
              if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                return -1;
              x20 = XVECEXP (x9, 0, 8);
              if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                return -1;
              x21 = XVECEXP (x9, 0, 9);
              if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                return -1;
              x22 = XVECEXP (x9, 0, 10);
              if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                return -1;
              x23 = XVECEXP (x9, 0, 11);
              if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                return -1;
              res = pattern234 (x1, V4QImode, V16QImode);
              if (res >= 0)
                return res + 23; /* [23, 24] */
              return -1;

            case 4:
              if (GET_MODE (x9) != V4HImode)
                return -1;
              x12 = XVECEXP (x9, 0, 0);
              if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                return -1;
              x13 = XVECEXP (x9, 0, 1);
              if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                return -1;
              x14 = XVECEXP (x9, 0, 2);
              if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                return -1;
              x15 = XVECEXP (x9, 0, 3);
              if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                return -1;
              res = pattern234 (x1, V4HImode, V8HImode);
              if (res >= 0)
                return res + 25; /* [25, 26] */
              return -1;

            default:
              return -1;
            }

        case 8:
          if (GET_MODE (x5) != V8QImode)
            return -1;
          x48 = XVECEXP (x5, 0, 0);
          if (x48 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x49 = XVECEXP (x5, 0, 1);
          if (x49 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x50 = XVECEXP (x5, 0, 2);
          if (x50 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x51 = XVECEXP (x5, 0, 3);
          if (x51 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x52 = XVECEXP (x5, 0, 4);
          if (x52 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x53 = XVECEXP (x5, 0, 5);
          if (x53 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x54 = XVECEXP (x5, 0, 6);
          if (x54 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x55 = XVECEXP (x5, 0, 7);
          if (x55 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
              || XVECLEN (x9, 0) != 8
              || GET_MODE (x9) != V8QImode)
            return -1;
          x12 = XVECEXP (x9, 0, 0);
          if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x13 = XVECEXP (x9, 0, 1);
          if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x14 = XVECEXP (x9, 0, 2);
          if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x15 = XVECEXP (x9, 0, 3);
          if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x16 = XVECEXP (x9, 0, 4);
          if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x17 = XVECEXP (x9, 0, 5);
          if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x18 = XVECEXP (x9, 0, 6);
          if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x19 = XVECEXP (x9, 0, 7);
          if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
              || !register_operand (operands[0], V16QImode)
              || GET_MODE (x1) != V16QImode
              || GET_MODE (x2) != V8QImode
              || GET_MODE (x3) != V8QImode)
            return -1;
          res = pattern232 ();
          if (res >= 0)
            return res + 27; /* [27, 29] */
          return -1;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern236 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!memory_operand (operands[0], i3)
      || GET_MODE (x1) != i3)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2
      || !register_operand (operands[1], V2DImode))
    return -1;
  x3 = XEXP (x1, 1);
  if (GET_MODE (x3) != i1)
    return -1;
  return 0;
}

static int
pattern237 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (GET_MODE (x1) != i1)
    return -1;
  switch (GET_MODE (operands[1]))
    {
    case V4SImode:
      if (!register_operand (operands[1], V4SImode))
        return -1;
      return 0;

    case V4DImode:
      if (!register_operand (operands[1], V4DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern238 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) != PARALLEL)
    return -1;
  x4 = XEXP (x2, 0);
  if (!rtx_equal_p (x4, operands[0]))
    return -1;
  switch (XVECLEN (x3, 0))
    {
    case 14:
      x5 = XVECEXP (x3, 0, 0);
      if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
        return -1;
      x6 = XVECEXP (x3, 0, 1);
      if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
        return -1;
      x7 = XVECEXP (x3, 0, 2);
      if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
        return -1;
      x8 = XVECEXP (x3, 0, 3);
      if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
        return -1;
      x9 = XVECEXP (x3, 0, 4);
      if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
        return -1;
      x10 = XVECEXP (x3, 0, 5);
      if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
        return -1;
      x11 = XVECEXP (x3, 0, 6);
      if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
        return -1;
      x12 = XVECEXP (x3, 0, 7);
      if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 9])
        return -1;
      x13 = XVECEXP (x3, 0, 8);
      if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
        return -1;
      x14 = XVECEXP (x3, 0, 9);
      if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 11])
        return -1;
      x15 = XVECEXP (x3, 0, 10);
      if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
        return -1;
      x16 = XVECEXP (x3, 0, 11);
      if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 13])
        return -1;
      x17 = XVECEXP (x3, 0, 12);
      if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 14])
        return -1;
      x18 = XVECEXP (x3, 0, 13);
      if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 15]
          || pattern236 (x1, V14QImode, V2QImode, V16QImode) != 0)
        return -1;
      return 0;

    case 12:
      x5 = XVECEXP (x3, 0, 0);
      if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
        return -1;
      x6 = XVECEXP (x3, 0, 1);
      if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
        return -1;
      x7 = XVECEXP (x3, 0, 2);
      if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
        return -1;
      x8 = XVECEXP (x3, 0, 3);
      if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
        return -1;
      x9 = XVECEXP (x3, 0, 4);
      if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
        return -1;
      x10 = XVECEXP (x3, 0, 5);
      if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 9])
        return -1;
      x11 = XVECEXP (x3, 0, 6);
      if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
        return -1;
      x12 = XVECEXP (x3, 0, 7);
      if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 11])
        return -1;
      x13 = XVECEXP (x3, 0, 8);
      if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
        return -1;
      x14 = XVECEXP (x3, 0, 9);
      if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 13])
        return -1;
      x15 = XVECEXP (x3, 0, 10);
      if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 14])
        return -1;
      x16 = XVECEXP (x3, 0, 11);
      if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 15]
          || !memory_operand (operands[0], V16QImode)
          || GET_MODE (x1) != V16QImode)
        return -1;
      x19 = XEXP (x1, 0);
      if (GET_MODE (x19) != V4QImode)
        return -1;
      res = pattern237 (x2, V12QImode);
      if (res >= 0)
        return res + 1; /* [1, 2] */
      return -1;

    case 8:
      x5 = XVECEXP (x3, 0, 0);
      if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
        return -1;
      x6 = XVECEXP (x3, 0, 1);
      if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 9])
        return -1;
      x7 = XVECEXP (x3, 0, 2);
      if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
        return -1;
      x8 = XVECEXP (x3, 0, 3);
      if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 11])
        return -1;
      x9 = XVECEXP (x3, 0, 4);
      if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
        return -1;
      x10 = XVECEXP (x3, 0, 5);
      if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 13])
        return -1;
      x11 = XVECEXP (x3, 0, 6);
      if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 14])
        return -1;
      x12 = XVECEXP (x3, 0, 7);
      if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 15]
          || !memory_operand (operands[0], V16QImode)
          || GET_MODE (x1) != V16QImode)
        return -1;
      x19 = XEXP (x1, 0);
      if (GET_MODE (x19) != V8QImode
          || GET_MODE (x2) != V8QImode)
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case V8HImode:
          if (!register_operand (operands[1], V8HImode))
            return -1;
          return 3;

        case V8SImode:
          if (!register_operand (operands[1], V8SImode))
            return -1;
          return 4;

        case V8DImode:
          if (!register_operand (operands[1], V8DImode))
            return -1;
          return 5;

        default:
          return -1;
        }

    case 4:
      x5 = XVECEXP (x3, 0, 0);
      if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
        return -1;
      x6 = XVECEXP (x3, 0, 1);
      if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
        return -1;
      x7 = XVECEXP (x3, 0, 2);
      if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
        return -1;
      x8 = XVECEXP (x3, 0, 3);
      if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
          || !memory_operand (operands[0], V8HImode)
          || GET_MODE (x1) != V8HImode)
        return -1;
      x19 = XEXP (x1, 0);
      if (GET_MODE (x19) != V4HImode)
        return -1;
      res = pattern237 (x2, V4HImode);
      if (res >= 0)
        return res + 6; /* [6, 7] */
      return -1;

    case 6:
      x5 = XVECEXP (x3, 0, 0);
      if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
        return -1;
      x6 = XVECEXP (x3, 0, 1);
      if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
        return -1;
      x7 = XVECEXP (x3, 0, 2);
      if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
        return -1;
      x8 = XVECEXP (x3, 0, 3);
      if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
        return -1;
      x9 = XVECEXP (x3, 0, 4);
      if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
        return -1;
      x10 = XVECEXP (x3, 0, 5);
      if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
          || pattern236 (x1, V6HImode, V2HImode, V8HImode) != 0)
        return -1;
      return 8;

    case 2:
      x5 = XVECEXP (x3, 0, 0);
      if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
        return -1;
      x6 = XVECEXP (x3, 0, 1);
      if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 3]
          || !memory_operand (operands[0], V4SImode)
          || GET_MODE (x1) != V4SImode)
        return -1;
      x19 = XEXP (x1, 0);
      if (GET_MODE (x19) != V2SImode
          || !register_operand (operands[1], V2DImode)
          || GET_MODE (x2) != V2SImode)
        return -1;
      return 9;

    default:
      return -1;
    }
}

static int
pattern239 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i3)
      || GET_MODE (x1) != i3)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2
      || !register_operand (operands[1], i1))
    return -1;
  x3 = XEXP (x1, 1);
  if (GET_MODE (x3) != i2
      || !vector_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern240 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  operands[2] = x3;
  switch (GET_MODE (operands[0]))
    {
    case V64QImode:
      return pattern239 (x1, V32HImode, V32QImode, V64QImode); /* [-1, 0] */

    case V32QImode:
      if (pattern239 (x1, V16HImode, V16QImode, V32QImode) != 0)
        return -1;
      return 1;

    case V16QImode:
      if (pattern239 (x1, V8HImode, V8QImode, V16QImode) != 0)
        return -1;
      return 2;

    case V32HImode:
      if (pattern239 (x1, V16SImode, V16HImode, V32HImode) != 0)
        return -1;
      return 3;

    case V16HImode:
      if (pattern239 (x1, V8SImode, V8HImode, V16HImode) != 0)
        return -1;
      return 4;

    case V8HImode:
      if (pattern239 (x1, V4SImode, V4HImode, V8HImode) != 0)
        return -1;
      return 5;

    default:
      return -1;
    }
}

static int
pattern241 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[0]))
    {
    case V16SFmode:
      if (!register_operand (operands[0], V16SFmode)
          || GET_MODE (x1) != V16SFmode
          || !nonimmediate_operand (operands[1], V16SFmode))
        return -1;
      return 0;

    case V8SFmode:
      if (!register_operand (operands[0], V8SFmode)
          || GET_MODE (x1) != V8SFmode
          || !nonimmediate_operand (operands[1], V8SFmode))
        return -1;
      return 1;

    case V4SFmode:
      if (!register_operand (operands[0], V4SFmode)
          || GET_MODE (x1) != V4SFmode
          || !nonimmediate_operand (operands[1], V4SFmode))
        return -1;
      return 2;

    case V8DFmode:
      if (!register_operand (operands[0], V8DFmode)
          || GET_MODE (x1) != V8DFmode
          || !nonimmediate_operand (operands[1], V8DFmode))
        return -1;
      return 3;

    case V4DFmode:
      if (!register_operand (operands[0], V4DFmode)
          || GET_MODE (x1) != V4DFmode
          || !nonimmediate_operand (operands[1], V4DFmode))
        return -1;
      return 4;

    case V2DFmode:
      if (!register_operand (operands[0], V2DFmode)
          || GET_MODE (x1) != V2DFmode
          || !nonimmediate_operand (operands[1], V2DFmode))
        return -1;
      return 5;

    default:
      return -1;
    }
}

static int
pattern242 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  if (GET_MODE (x2) != V2SFmode)
    return -1;
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) != PARALLEL
      || XVECLEN (x3, 0) != 2)
    return -1;
  x4 = XVECEXP (x3, 0, 0);
  if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x5 = XVECEXP (x3, 0, 1);
  if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
      || !register_operand (operands[0], V2DImode)
      || GET_MODE (x1) != V2DImode)
    return -1;
  x6 = XEXP (x2, 0);
  operands[1] = x6;
  if (!nonimmediate_operand (operands[1], V4SFmode))
    return -1;
  return 0;
}

static int
pattern243 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[0]))
    {
    case V8SImode:
      if (!nonimmediate_operand (operands[0], V8SImode)
          || GET_MODE (x1) != V8SImode
          || !nonimmediate_operand (operands[1], V4SImode))
        return -1;
      return 0;

    case V8SFmode:
      if (!nonimmediate_operand (operands[0], V8SFmode)
          || GET_MODE (x1) != V8SFmode
          || !nonimmediate_operand (operands[1], V4SFmode))
        return -1;
      return 1;

    case V4DFmode:
      if (!nonimmediate_operand (operands[0], V4DFmode)
          || GET_MODE (x1) != V4DFmode
          || !nonimmediate_operand (operands[1], V2DFmode))
        return -1;
      return 2;

    case V16SImode:
      if (!nonimmediate_operand (operands[0], V16SImode)
          || GET_MODE (x1) != V16SImode)
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case V4SImode:
          if (!nonimmediate_operand (operands[1], V4SImode))
            return -1;
          return 3;

        case V8SImode:
          if (!nonimmediate_operand (operands[1], V8SImode))
            return -1;
          return 4;

        default:
          return -1;
        }

    case V16SFmode:
      if (!nonimmediate_operand (operands[0], V16SFmode)
          || GET_MODE (x1) != V16SFmode)
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case V4SFmode:
          if (!nonimmediate_operand (operands[1], V4SFmode))
            return -1;
          return 5;

        case V8SFmode:
          if (!nonimmediate_operand (operands[1], V8SFmode))
            return -1;
          return 6;

        default:
          return -1;
        }

    case V8DFmode:
      if (!nonimmediate_operand (operands[0], V8DFmode)
          || GET_MODE (x1) != V8DFmode)
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case V2DFmode:
          if (!nonimmediate_operand (operands[1], V2DFmode))
            return -1;
          return 7;

        case V4DFmode:
          if (!nonimmediate_operand (operands[1], V4DFmode))
            return -1;
          return 8;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern244 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[1], i1)
      || !vector_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern245 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  switch (GET_MODE (operands[1]))
    {
    case V8SImode:
      if (!nonimmediate_operand (operands[1], V8SImode))
        return -1;
      return 0;

    case V8DImode:
      if (!nonimmediate_operand (operands[1], V8DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern246 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  switch (GET_MODE (operands[1]))
    {
    case V4SImode:
      if (!nonimmediate_operand (operands[1], V4SImode))
        return -1;
      return 0;

    case V4DImode:
      if (!nonimmediate_operand (operands[1], V4DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern247 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x3 = XVECEXP (x1, 0, 1);
  if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x4 = XVECEXP (x1, 0, 2);
  if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
    return -1;
  x5 = XVECEXP (x1, 0, 3);
  if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
    return -1;
  return 0;
}

static int
pattern248 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i3)
      || GET_MODE (x1) != i3)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2
      || !register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern249 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case SFmode:
      if (!register_operand (operands[1], V4SFmode))
        return -1;
      return 0;

    case DFmode:
      if (!register_operand (operands[1], V2DFmode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern250 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) != PARALLEL
      || XVECLEN (x5, 0) != 1)
    return -1;
  x6 = XVECEXP (x5, 0, 0);
  if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x7 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x7) != UNSPEC
      || XVECLEN (x7, 0) != 1
      || XINT (x7, 1) != 173)
    return -1;
  x8 = XEXP (x4, 0);
  operands[1] = x8;
  x9 = XVECEXP (x7, 0, 0);
  operands[2] = x9;
  if (!const48_operand (operands[2], SImode))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case SImode:
      return pattern249 (x3, SImode); /* [-1, 1] */

    case DImode:
      res = pattern249 (x3, DImode);
      if (res >= 0)
        return res + 2; /* [2, 3] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern251 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2
      || !nonimmediate_operand (operands[1], i1))
    return -1;
  x3 = XEXP (x1, 1);
  if (GET_MODE (x3) != i2
      || !nonimmediate_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern252 (rtx x1, rtx_code i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) != i1)
    return -1;
  x5 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x5) != CLOBBER)
    return -1;
  x6 = XEXP (x5, 0);
  if (GET_CODE (x6) != REG
      || REGNO (x6) != 17
      || GET_MODE (x6) != CCmode)
    return -1;
  x7 = XEXP (x3, 0);
  x8 = XEXP (x7, 0);
  operands[1] = x8;
  x9 = XEXP (x4, 0);
  operands[2] = x9;
  switch (GET_MODE (operands[0]))
    {
    case DImode:
      return pattern251 (x3, SImode, DImode); /* [-1, 0] */

    case TImode:
      if (pattern251 (x3, DImode, TImode) != 0)
        return -1;
      return 1;

    case HImode:
      if (pattern251 (x3, QImode, HImode) != 0)
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern253 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !nonimmediate_operand (operands[1], i1)
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern254 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XVECEXP (x2, 0, 0);
  operands[2] = x3;
  switch (GET_MODE (operands[0]))
    {
    case SImode:
      x4 = XVECEXP (x1, 0, 0);
      x5 = XEXP (x4, 1);
      return pattern253 (x5, SImode); /* [-1, 0] */

    case DImode:
      x4 = XVECEXP (x1, 0, 0);
      x5 = XEXP (x4, 1);
      if (pattern253 (x5, DImode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern255 (rtx x1, int *pnum_clobbers)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  operands[0] = x3;
  x4 = XEXP (x2, 1);
  x5 = XVECEXP (x4, 0, 0);
  operands[1] = x5;
  x6 = XVECEXP (x1, 0, 1);
  switch (GET_CODE (x6))
    {
    case CLOBBER:
      x7 = XEXP (x6, 0);
      if (GET_CODE (x7) != REG
          || REGNO (x7) != 17
          || GET_MODE (x7) != CCmode)
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case SImode:
          if (!register_operand (operands[0], SImode)
              || GET_MODE (x4) != SImode
              || !nonimmediate_operand (operands[1], SImode))
            return -1;
          return 0;

        case DImode:
          if (!register_operand (operands[0], DImode)
              || GET_MODE (x4) != DImode
              || !nonimmediate_operand (operands[1], DImode))
            return -1;
          return 1;

        case HImode:
          if (!register_operand (operands[0], HImode)
              || GET_MODE (x4) != HImode
              || !nonimmediate_operand (operands[1], HImode))
            return -1;
          return 2;

        default:
          return -1;
        }

    case UNSPEC:
      if (pnum_clobbers == NULL
          || XVECLEN (x6, 0) != 1
          || XINT (x6, 1) != 40)
        return -1;
      res = pattern254 (x1);
      if (res >= 0)
        return res + 3; /* [3, 4] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern256 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != CCmode)
    return -1;
  x3 = XEXP (x1, 0);
  if (GET_CODE (x3) != REG
      || REGNO (x3) != 17
      || GET_MODE (x3) != CCmode)
    return -1;
  return 0;
}

static int
pattern257 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], XFmode))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XEXP (x2, 0);
  operands[1] = x3;
  if (!register_operand (operands[1], XFmode))
    return -1;
  x4 = XVECEXP (x1, 0, 0);
  x5 = XEXP (x4, 1);
  x6 = XVECEXP (x5, 0, 0);
  switch (GET_CODE (x6))
    {
    case REG:
    case SUBREG:
      operands[2] = x6;
      if (!register_operand (operands[2], XFmode))
        return -1;
      x7 = XEXP (x2, 1);
      x8 = XVECEXP (x7, 0, 0);
      if (!rtx_equal_p (x8, operands[2]))
        return -1;
      return 0;

    case FLOAT_EXTEND:
      if (GET_MODE (x6) != XFmode)
        return -1;
      x7 = XEXP (x2, 1);
      x8 = XVECEXP (x7, 0, 0);
      if (GET_CODE (x8) != FLOAT_EXTEND
          || GET_MODE (x8) != XFmode)
        return -1;
      x9 = XEXP (x6, 0);
      operands[2] = x9;
      x10 = XEXP (x8, 0);
      if (!rtx_equal_p (x10, operands[2]))
        return -1;
      switch (GET_MODE (operands[2]))
        {
        case SFmode:
          if (!register_operand (operands[2], SFmode))
            return -1;
          return 1;

        case DFmode:
          if (!register_operand (operands[2], DFmode))
            return -1;
          return 2;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern258 (rtx x1, int i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) != XFmode)
    return -1;
  x4 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x4) != SET)
    return -1;
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) != UNSPEC
      || XVECLEN (x5, 0) != 1
      || XINT (x5, 1) != i1
      || GET_MODE (x5) != XFmode)
    return -1;
  x6 = XEXP (x2, 0);
  operands[0] = x6;
  return pattern257 (x1); /* [-1, 2] */
}

static int
pattern259 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[0]))
    {
    case SFmode:
      if (!register_operand (operands[0], SFmode)
          || GET_MODE (x1) != SFmode
          || !register_operand (operands[1], SFmode))
        return -1;
      return 0;

    case DFmode:
      if (!register_operand (operands[0], DFmode)
          || GET_MODE (x1) != DFmode
          || !register_operand (operands[1], DFmode))
        return -1;
      return 1;

    case XFmode:
      if (!register_operand (operands[0], XFmode)
          || GET_MODE (x1) != XFmode
          || !register_operand (operands[1], XFmode))
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern260 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != CLOBBER)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != REG
      || REGNO (x3) != 17
      || GET_MODE (x3) != CCmode)
    return -1;
  x4 = XVECEXP (x1, 0, 0);
  x5 = XEXP (x4, 0);
  operands[0] = x5;
  x6 = XEXP (x4, 1);
  x7 = XVECEXP (x6, 0, 0);
  operands[1] = x7;
  return pattern259 (x6); /* [-1, 2] */
}

static int
pattern261 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[0]))
    {
    case HImode:
      if (!nonimmediate_operand (operands[0], HImode)
          || GET_MODE (x1) != HImode)
        return -1;
      return 0;

    case SImode:
      if (!nonimmediate_operand (operands[0], SImode)
          || GET_MODE (x1) != SImode)
        return -1;
      return 1;

    case DImode:
      if (!nonimmediate_operand (operands[0], DImode)
          || GET_MODE (x1) != DImode)
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern262 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  operands[1] = x2;
  if (!register_operand (operands[1], XFmode))
    return -1;
  return pattern261 (x1); /* [-1, 2] */
}

static int
pattern263 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != CLOBBER)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != REG
      || REGNO (x3) != 17
      || GET_MODE (x3) != CCmode)
    return -1;
  x4 = XVECEXP (x1, 0, 0);
  x5 = XEXP (x4, 0);
  operands[0] = x5;
  x6 = XEXP (x4, 1);
  return pattern262 (x6); /* [-1, 2] */
}

static int
pattern264 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != CLOBBER)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != REG
      || REGNO (x3) != 17
      || GET_MODE (x3) != CCmode)
    return -1;
  x4 = XVECEXP (x1, 0, 0);
  x5 = XEXP (x4, 0);
  operands[0] = x5;
  return 0;
}

static int
pattern265 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != UNSPEC
      || XVECLEN (x2, 0) != 1
      || XINT (x2, 1) != 173)
    return -1;
  x3 = XVECEXP (x1, 0, 0);
  x4 = XEXP (x3, 0);
  operands[0] = x4;
  x5 = XVECEXP (x2, 0, 0);
  operands[2] = x5;
  if (!const_4_or_8_to_11_operand (operands[2], SImode))
    return -1;
  return 0;
}

static int
pattern266 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != UNSPEC
      || XVECLEN (x2, 0) != 1
      || XINT (x2, 1) != 173)
    return -1;
  x3 = XVECEXP (x1, 0, 0);
  x4 = XEXP (x3, 0);
  operands[0] = x4;
  x5 = XEXP (x3, 1);
  x6 = XVECEXP (x5, 0, 0);
  operands[1] = x6;
  x7 = XVECEXP (x2, 0, 0);
  operands[2] = x7;
  if (!const48_operand (operands[2], SImode))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case V16SFmode:
      if (!register_operand (operands[0], V16SFmode)
          || GET_MODE (x5) != V16SFmode
          || !register_operand (operands[1], V16SFmode))
        return -1;
      return 0;

    case V8DFmode:
      if (!register_operand (operands[0], V8DFmode)
          || GET_MODE (x5) != V8DFmode
          || !register_operand (operands[1], V8DFmode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern267 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) != XFmode)
    return -1;
  x4 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x4) != CLOBBER)
    return -1;
  x5 = XEXP (x2, 0);
  operands[0] = x5;
  if (!register_operand (operands[0], XFmode))
    return -1;
  x6 = XVECEXP (x3, 0, 1);
  operands[2] = x6;
  if (!register_operand (operands[2], XFmode))
    return -1;
  x7 = XEXP (x4, 0);
  operands[3] = x7;
  if (!scratch_operand (operands[3], XFmode))
    return -1;
  x8 = XVECEXP (x3, 0, 0);
  switch (GET_CODE (x8))
    {
    case REG:
    case SUBREG:
      operands[1] = x8;
      if (!register_operand (operands[1], XFmode))
        return -1;
      return 0;

    case FLOAT_EXTEND:
      if (GET_MODE (x8) != XFmode)
        return -1;
      x9 = XEXP (x8, 0);
      operands[1] = x9;
      switch (GET_MODE (operands[1]))
        {
        case SFmode:
          if (!register_operand (operands[1], SFmode))
            return -1;
          return 1;

        case DFmode:
          if (!register_operand (operands[1], DFmode))
            return -1;
          return 2;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern268 (rtx x1, int i1, machine_mode i2, rtx_code i3, int i4)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) != i2)
    return -1;
  x4 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x4) != SET)
    return -1;
  x5 = XEXP (x4, 1);
  return pattern186 (x5, i2, i1, i3, i4); /* [-1, 0] */
}

static int
pattern269 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) != CCZmode)
    return -1;
  x4 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x4) != CLOBBER)
    return -1;
  x5 = XEXP (x2, 0);
  operands[0] = x5;
  if (!flags_reg_operand (operands[0], CCZmode))
    return -1;
  x6 = XVECEXP (x3, 0, 0);
  operands[1] = x6;
  x7 = XVECEXP (x3, 0, 1);
  operands[2] = x7;
  x8 = XEXP (x4, 0);
  operands[3] = x8;
  switch (GET_MODE (operands[1]))
    {
    case SImode:
      return 0;

    case DImode:
      return 1;

    default:
      return -1;
    }
}

static int
pattern270 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[1], i1)
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern271 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != UNSPEC
      || XVECLEN (x2, 0) != 1
      || XINT (x2, 1) != 173)
    return -1;
  x3 = XVECEXP (x1, 0, 0);
  x4 = XEXP (x3, 0);
  operands[0] = x4;
  x5 = XEXP (x3, 1);
  x6 = XVECEXP (x5, 0, 0);
  operands[1] = x6;
  x7 = XVECEXP (x5, 0, 1);
  operands[2] = x7;
  x8 = XVECEXP (x2, 0, 0);
  operands[3] = x8;
  if (!const48_operand (operands[3], SImode))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case V16SFmode:
      return pattern270 (x5, V16SFmode); /* [-1, 0] */

    case V8DFmode:
      if (pattern270 (x5, V8DFmode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern272 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[0]))
    {
    case SImode:
      if (!register_operand (operands[0], SImode)
          || GET_MODE (x1) != SImode)
        return -1;
      return 0;

    case DImode:
      if (!register_operand (operands[0], DImode)
          || GET_MODE (x1) != DImode)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern273 (rtx x1, int i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  if (GET_CODE (x5) != REG
      || REGNO (x5) != 17)
    return -1;
  x6 = XEXP (x4, 1);
  if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x7 = XEXP (x3, 1);
  if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
    return -1;
  x8 = XEXP (x3, 2);
  if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x9 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x9) != CLOBBER)
    return -1;
  x10 = XEXP (x9, 0);
  if (GET_CODE (x10) != REG
      || REGNO (x10) != 17
      || GET_MODE (x10) != CCmode)
    return -1;
  x11 = XEXP (x2, 0);
  operands[0] = x11;
  return pattern272 (x3); /* [-1, 1] */
}

static int
pattern274 (rtx x1, rtx_code i1, rtx_code i2, machine_mode i3)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != REG
      || REGNO (x3) != 17
      || GET_MODE (x3) != i3)
    return -1;
  x4 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x4) != SET)
    return -1;
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) != i2)
    return -1;
  x6 = XVECEXP (x1, 0, 2);
  if (GET_CODE (x6) != i1)
    return -1;
  return 0;
}

static int
pattern275 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != UNSPEC
      || XVECLEN (x2, 0) != 1
      || XINT (x2, 1) != 40)
    return -1;
  x3 = XVECEXP (x1, 0, 2);
  if (GET_CODE (x3) != CLOBBER)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != REG
      || REGNO (x4) != 17
      || GET_MODE (x4) != CCmode)
    return -1;
  x5 = XVECEXP (x1, 0, 0);
  x6 = XEXP (x5, 0);
  operands[0] = x6;
  x7 = XEXP (x5, 1);
  x8 = XVECEXP (x7, 0, 0);
  operands[1] = x8;
  return pattern254 (x1); /* [-1, 1] */
}

static int
pattern276 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != USE)
    return -1;
  x3 = XVECEXP (x1, 0, 2);
  if (GET_CODE (x3) != USE)
    return -1;
  x4 = XVECEXP (x1, 0, 0);
  x5 = XEXP (x4, 0);
  operands[0] = x5;
  x6 = XEXP (x4, 1);
  x7 = XVECEXP (x6, 0, 0);
  operands[1] = x7;
  x8 = XEXP (x2, 0);
  operands[2] = x8;
  if (!memory_operand (operands[2], HImode))
    return -1;
  x9 = XEXP (x3, 0);
  operands[3] = x9;
  if (!memory_operand (operands[3], HImode))
    return -1;
  return pattern259 (x6); /* [-1, 2] */
}

static int
pattern277 (rtx x1, int *pnum_clobbers)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XEXP (x2, 0);
  operands[2] = x3;
  if (!memory_operand (operands[2], HImode))
    return -1;
  x4 = XVECEXP (x1, 0, 2);
  x5 = XEXP (x4, 0);
  operands[3] = x5;
  if (!memory_operand (operands[3], HImode))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case DImode:
      if (pnum_clobbers == NULL
          || !memory_operand (operands[0], DImode))
        return -1;
      x6 = XVECEXP (x1, 0, 0);
      x7 = XEXP (x6, 1);
      if (GET_MODE (x7) != DImode)
        return -1;
      return 0;

    case HImode:
      if (!memory_operand (operands[0], HImode))
        return -1;
      x6 = XVECEXP (x1, 0, 0);
      x7 = XEXP (x6, 1);
      if (GET_MODE (x7) != HImode)
        return -1;
      return 1;

    case SImode:
      if (!memory_operand (operands[0], SImode))
        return -1;
      x6 = XVECEXP (x1, 0, 0);
      x7 = XEXP (x6, 1);
      if (GET_MODE (x7) != SImode)
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern278 (rtx x1, int *pnum_clobbers)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != USE)
    return -1;
  x3 = XVECEXP (x1, 0, 2);
  if (GET_CODE (x3) != USE)
    return -1;
  x4 = XVECEXP (x1, 0, 0);
  x5 = XEXP (x4, 0);
  operands[0] = x5;
  x6 = XEXP (x4, 1);
  x7 = XVECEXP (x6, 0, 0);
  operands[1] = x7;
  if (!register_operand (operands[1], XFmode))
    return -1;
  return pattern277 (x1, pnum_clobbers); /* [-1, 2] */
}

static int
pattern279 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (GET_CODE (x1) != CLOBBER)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) != REG
      || REGNO (x2) != 17
      || GET_MODE (x2) != i1)
    return -1;
  return 0;
}

static int
pattern280 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != SET)
    return -1;
  x3 = XEXP (x2, 1);
  if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x4 = XVECEXP (x1, 0, 2);
  return pattern279 (x4, CCmode); /* [-1, 0] */
}

static int
pattern281 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (GET_MODE (x1) != BLKmode
      || !memory_operand (operands[0], BLKmode)
      || !register_operand (operands[1], SImode)
      || !register_operand (operands[2], SImode))
    return -1;
  return 0;
}

static int
pattern282 ()
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[1], SImode)
      || !register_operand (operands[2], SImode))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case SImode:
      if (!register_operand (operands[0], SImode))
        return -1;
      return 0;

    case DImode:
      if (!register_operand (operands[0], DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern283 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  if (GET_CODE (x5) != ZERO_EXTRACT)
    return -1;
  x6 = XEXP (x5, 1);
  if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x7 = XEXP (x3, 1);
  if (GET_CODE (x7) != LABEL_REF)
    return -1;
  x8 = XEXP (x3, 2);
  if (GET_CODE (x8) != PC)
    return -1;
  x9 = XEXP (x2, 0);
  if (GET_CODE (x9) != PC)
    return -1;
  x10 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x10) != CLOBBER)
    return -1;
  x11 = XEXP (x10, 0);
  if (GET_CODE (x11) != REG
      || REGNO (x11) != 17
      || GET_MODE (x11) != CCmode)
    return -1;
  x12 = XEXP (x5, 0);
  operands[1] = x12;
  x13 = XEXP (x5, 2);
  switch (GET_CODE (x13))
    {
    case CONST_INT:
    case CONST_WIDE_INT:
    case CONST_FIXED:
    case CONST_DOUBLE:
    case CONST_VECTOR:
    case CONST:
    case REG:
    case SUBREG:
    case LABEL_REF:
    case SYMBOL_REF:
    case HIGH:
      operands[2] = x13;
      if (!nonmemory_operand (operands[2], SImode))
        return -1;
      x14 = XEXP (x4, 1);
      if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x15 = XEXP (x7, 0);
      operands[3] = x15;
      switch (GET_MODE (x5))
        {
        case SImode:
          if (!register_operand (operands[1], SImode))
            return -1;
          return 0;

        case DImode:
          if (!register_operand (operands[1], DImode))
            return -1;
          return 1;

        default:
          return -1;
        }

    case ZERO_EXTEND:
      if (GET_MODE (x13) != SImode)
        return -1;
      x14 = XEXP (x4, 1);
      if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x16 = XEXP (x13, 0);
      operands[2] = x16;
      if (!register_operand (operands[2], QImode))
        return -1;
      x15 = XEXP (x7, 0);
      operands[3] = x15;
      switch (GET_MODE (x5))
        {
        case SImode:
          if (!register_operand (operands[1], SImode))
            return -1;
          return 2;

        case DImode:
          if (!register_operand (operands[1], DImode))
            return -1;
          return 3;

        default:
          return -1;
        }

    case AND:
      if (GET_MODE (x13) != SImode)
        return -1;
      x16 = XEXP (x13, 0);
      operands[2] = x16;
      if (!register_operand (operands[2], SImode))
        return -1;
      x17 = XEXP (x13, 1);
      operands[3] = x17;
      if (!const_int_operand (operands[3], VOIDmode))
        return -1;
      x15 = XEXP (x7, 0);
      operands[4] = x15;
      switch (GET_MODE (x5))
        {
        case SImode:
          if (!register_operand (operands[1], SImode))
            return -1;
          return 4;

        case DImode:
          if (!register_operand (operands[1], DImode))
            return -1;
          return 5;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern284 ()
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[1]))
    {
    case QImode:
      if (!nonimmediate_operand (operands[1], QImode))
        return -1;
      return 0;

    case HImode:
      if (!nonimmediate_operand (operands[1], HImode))
        return -1;
      return 1;

    case SImode:
      if (!nonimmediate_operand (operands[1], SImode))
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern285 (rtx x1, rtx_code i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) != i1)
    return -1;
  x4 = XEXP (x1, 1);
  if (XVECLEN (x4, 0) < 1)
    return -1;
  operands[5] = x4;
  if (!addsub_vs_parallel (operands[5], VOIDmode))
    return -1;
  operands[7] = x1;
  x5 = XEXP (x2, 0);
  x6 = XEXP (x5, 0);
  operands[1] = x6;
  x7 = XEXP (x5, 1);
  operands[2] = x7;
  x8 = XEXP (x3, 0);
  operands[3] = x8;
  x9 = XEXP (x3, 1);
  operands[4] = x9;
  x10 = XVECEXP (x4, 0, 0);
  operands[6] = x10;
  if (!const_int_operand (operands[6], VOIDmode))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case V8SFmode:
      return 0;

    case V4SFmode:
      return 1;

    case V4DFmode:
      return 2;

    case V2DFmode:
      return 3;

    default:
      return -1;
    }
}

static int
pattern286 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XVECEXP (x3, 0, 1);
  operands[4] = x4;
  if (!const_int_operand (operands[4], SImode))
    return -1;
  x5 = XEXP (x2, 0);
  if (!rtx_equal_p (x5, operands[0]))
    return -1;
  x6 = XVECEXP (x1, 0, 1);
  x7 = XEXP (x6, 1);
  x8 = XEXP (x7, 0);
  if (!rtx_equal_p (x8, operands[1]))
    return -1;
  x9 = XEXP (x7, 1);
  if (!rtx_equal_p (x9, operands[0]))
    return -1;
  x10 = XEXP (x6, 0);
  if (!rtx_equal_p (x10, operands[1]))
    return -1;
  x11 = PATTERN (peep2_next_insn (2));
  if (GET_CODE (x11) != SET)
    return -1;
  x12 = XEXP (x11, 1);
  if (GET_CODE (x12) != COMPARE
      || GET_MODE (x12) != CCZmode)
    return -1;
  x13 = XEXP (x11, 0);
  if (GET_CODE (x13) != REG
      || REGNO (x13) != 17
      || GET_MODE (x13) != CCZmode)
    return -1;
  x14 = XEXP (x12, 1);
  operands[3] = x14;
  return 0;
}

static int
pattern287 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8;
  int res ATTRIBUTE_UNUSED;
  if (GET_CODE (x1) != PARALLEL
      || XVECLEN (x1, 0) != 3)
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  if (GET_CODE (x2) != SET)
    return -1;
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) != UNSPEC_VOLATILE
      || XVECLEN (x3, 0) != 2
      || XINT (x3, 1) != 63)
    return -1;
  x4 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x4) != SET)
    return -1;
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) != PLUS)
    return -1;
  x6 = XVECEXP (x1, 0, 2);
  if (GET_CODE (x6) != CLOBBER)
    return -1;
  x7 = XEXP (x6, 0);
  if (GET_CODE (x7) != REG
      || REGNO (x7) != 17
      || GET_MODE (x7) != CCmode)
    return -1;
  x8 = XVECEXP (x3, 0, 0);
  operands[1] = x8;
  return pattern286 (x1); /* [-1, 0] */
}

static int
pattern288 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[0]))
    {
    case SFmode:
      if (!register_operand (operands[0], SFmode)
          || GET_MODE (x1) != SFmode)
        return -1;
      return 0;

    case DFmode:
      if (!register_operand (operands[0], DFmode)
          || GET_MODE (x1) != DFmode)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern289 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[1], i1)
      || !nonmemory_operand (operands[2], i2))
    return -1;
  return 0;
}

static int
pattern290 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i1)
      || !nonimmediate_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern291 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i1)
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern292 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i1)
      || !vector_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern293 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2
      || !nonimmediate_operand (operands[1], i1))
    return -1;
  x3 = XEXP (x1, 1);
  if (GET_MODE (x3) != i2
      || !nonimmediate_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern294 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  operands[1] = x3;
  x4 = XEXP (x1, 1);
  x5 = XEXP (x4, 0);
  operands[2] = x5;
  switch (GET_MODE (operands[0]))
    {
    case TImode:
      return pattern293 (x1, DImode, TImode); /* [-1, 0] */

    case HImode:
      if (pattern293 (x1, QImode, HImode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern295 ()
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[0]))
    {
    case DImode:
      if (!register_operand (operands[0], DImode)
          || !ix86_comparison_operator (operands[1], DImode))
        return -1;
      return 0;

    case SImode:
      if (!register_operand (operands[0], SImode)
          || !ix86_comparison_operator (operands[1], SImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern296 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2
      || !register_operand (operands[1], i1)
      || !nonimmediate_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern297 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[0]))
    {
    case DImode:
      return pattern296 (x1, V64QImode, DImode); /* [-1, 0] */

    case SImode:
      if (!register_operand (operands[0], SImode)
          || GET_MODE (x1) != SImode)
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case V32QImode:
          if (!register_operand (operands[1], V32QImode)
              || !nonimmediate_operand (operands[2], V32QImode))
            return -1;
          return 1;

        case V32HImode:
          if (!register_operand (operands[1], V32HImode)
              || !nonimmediate_operand (operands[2], V32HImode))
            return -1;
          return 2;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern298 (rtx x1, int *pnum_clobbers, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (pnum_clobbers == NULL
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XVECEXP (x1, 0, 2);
  if (GET_CODE (x2) != REG
      || REGNO (x2) != 7
      || GET_MODE (x2) != i1
      || !register_operand (operands[0], i1))
    return -1;
  return 0;
}

static int
pattern299 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 2);
  operands[3] = x2;
  if (!const_0_to_7_operand (operands[3], SImode))
    return -1;
  return pattern297 (x1); /* [-1, 2] */
}

static int
pattern300 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != V4SFmode)
    return -1;
  x3 = XEXP (x1, 2);
  if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
      || !register_operand (operands[0], V4SFmode)
      || GET_MODE (x1) != V4SFmode)
    return -1;
  x4 = XVECEXP (x2, 0, 0);
  operands[1] = x4;
  if (!nonimmediate_operand (operands[1], V4SFmode)
      || !register_operand (operands[2], V4SFmode))
    return -1;
  return 0;
}

static int
pattern301 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !nonimmediate_operand (operands[1], i1)
      || !vector_move_operand (operands[2], i1)
      || !register_operand (operands[3], i2))
    return -1;
  return 0;
}

static int
pattern302 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !nonimmediate_operand (operands[1], i1)
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern303 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XVECEXP (x2, 0, 0);
  operands[1] = x3;
  x4 = XEXP (x1, 2);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
      operands[3] = x4;
      switch (GET_MODE (operands[0]))
        {
        case V16SFmode:
          return pattern301 (x1, V16SFmode, HImode); /* [-1, 0] */

        case V8SFmode:
          if (pattern301 (x1, V8SFmode, QImode) != 0)
            return -1;
          return 1;

        case V4SFmode:
          if (pattern301 (x1, V4SFmode, QImode) != 0)
            return -1;
          return 2;

        case V8DFmode:
          if (pattern301 (x1, V8DFmode, QImode) != 0)
            return -1;
          return 3;

        case V4DFmode:
          if (pattern301 (x1, V4DFmode, QImode) != 0)
            return -1;
          return 4;

        case V2DFmode:
          if (pattern301 (x1, V2DFmode, QImode) != 0)
            return -1;
          return 5;

        default:
          return -1;
        }

    case CONST_INT:
      if (XWINT (x4, 0) != 1LL)
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case V4SFmode:
          if (pattern302 (x1, V4SFmode) != 0)
            return -1;
          return 6;

        case V2DFmode:
          if (pattern302 (x1, V2DFmode) != 0)
            return -1;
          return 7;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern304 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 2);
  operands[3] = x2;
  x3 = XEXP (x1, 0);
  x4 = XVECEXP (x3, 0, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
    case MEM:
      operands[1] = x4;
      return 0;

    case VEC_SELECT:
      if (GET_MODE (x4) != V2SFmode)
        return -1;
      x5 = XEXP (x4, 1);
      if (GET_CODE (x5) != PARALLEL
          || XVECLEN (x5, 0) != 2)
        return -1;
      x6 = XVECEXP (x5, 0, 0);
      if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x7 = XVECEXP (x5, 0, 1);
      if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
          || !register_operand (operands[0], V2DImode)
          || GET_MODE (x1) != V2DImode
          || GET_MODE (x3) != V2DImode)
        return -1;
      x8 = XEXP (x4, 0);
      operands[1] = x8;
      if (!nonimmediate_operand (operands[1], V4SFmode)
          || !vector_move_operand (operands[2], V2DImode)
          || !register_operand (operands[3], QImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern305 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !vector_operand (operands[1], i1)
      || !vector_move_operand (operands[2], i1)
      || !register_operand (operands[3], i2))
    return -1;
  return 0;
}

static int
pattern306 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 2);
  operands[3] = x2;
  switch (GET_MODE (operands[0]))
    {
    case V16SFmode:
      return pattern305 (x1, V16SFmode, HImode); /* [-1, 0] */

    case V8DFmode:
      if (pattern305 (x1, V8DFmode, QImode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern307 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !vector_operand (operands[1], i1)
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern308 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XVECEXP (x2, 0, 0);
  operands[1] = x3;
  x4 = XEXP (x1, 2);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
      return pattern306 (x1); /* [-1, 1] */

    case CONST_INT:
      if (XWINT (x4, 0) != 1LL)
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case V4SFmode:
          if (pattern307 (x1, V4SFmode) != 0)
            return -1;
          return 2;

        case V2DFmode:
          if (pattern307 (x1, V2DFmode) != 0)
            return -1;
          return 3;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern309 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (GET_CODE (x2))
    {
    case CONST_INT:
    case CONST_DOUBLE:
    case CONST_VECTOR:
      operands[4] = x2;
      return 0;

    case REG:
    case SUBREG:
    case MEM:
      x3 = XEXP (x1, 2);
      switch (GET_CODE (x3))
        {
        case REG:
        case SUBREG:
          operands[4] = x3;
          x4 = XEXP (x1, 0);
          x5 = XEXP (x4, 0);
          x6 = XEXP (x5, 0);
          operands[1] = x6;
          x7 = XEXP (x4, 1);
          operands[2] = x7;
          switch (GET_MODE (operands[0]))
            {
            case V16SFmode:
              return 1;

            case V8SFmode:
              return 2;

            case V4SFmode:
              return 3;

            case V8DFmode:
              return 4;

            case V4DFmode:
              return 5;

            case V2DFmode:
              return 6;

            default:
              return -1;
            }

        case CONST_INT:
          if (XWINT (x3, 0) != 1LL)
            return -1;
          x4 = XEXP (x1, 0);
          x5 = XEXP (x4, 0);
          x6 = XEXP (x5, 0);
          operands[2] = x6;
          x7 = XEXP (x4, 1);
          operands[1] = x7;
          if (!rtx_equal_p (x2, operands[1]))
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case V4SFmode:
              return 7;

            case V2DFmode:
              return 8;

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern310 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x3 = XVECEXP (x1, 0, 1);
  if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x4 = XVECEXP (x1, 0, 2);
  if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
    return -1;
  x5 = XVECEXP (x1, 0, 3);
  if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
    return -1;
  x6 = XVECEXP (x1, 0, 4);
  if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
    return -1;
  x7 = XVECEXP (x1, 0, 5);
  if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
    return -1;
  x8 = XVECEXP (x1, 0, 6);
  if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
    return -1;
  x9 = XVECEXP (x1, 0, 7);
  if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
    return -1;
  return 0;
}

static int
pattern311 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x3 = XVECEXP (x1, 0, 1);
  if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x4 = XVECEXP (x1, 0, 2);
  if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
    return -1;
  x5 = XVECEXP (x1, 0, 3);
  if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
    return -1;
  return 0;
}

static int
pattern312 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2
      || !register_operand (operands[1], i1))
    return -1;
  x2 = XEXP (x1, 1);
  operands[2] = x2;
  if (!nonimmediate_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern313 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2
      || !nonimmediate_operand (operands[1], i1))
    return -1;
  x2 = XEXP (x1, 1);
  operands[2] = x2;
  if (!vector_move_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern314 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2
      || !register_operand (operands[1], i1))
    return -1;
  x2 = XEXP (x1, 1);
  operands[2] = x2;
  if (!vector_move_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern315 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!const0_operand (operands[2], i1))
    return -1;
  switch (GET_MODE (operands[1]))
    {
    case V4DImode:
      if (!register_operand (operands[1], V4DImode))
        return -1;
      return 0;

    case V4SImode:
      if (!register_operand (operands[1], V4SImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern316 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[0]))
    {
    case V16QImode:
      if (!register_operand (operands[0], V16QImode)
          || GET_MODE (x1) != V16QImode)
        return -1;
      x2 = XEXP (x1, 0);
      switch (GET_MODE (x2))
        {
        case V4QImode:
          return pattern315 (V12QImode); /* [-1, 1] */

        case V2QImode:
          if (!register_operand (operands[1], V2DImode)
              || !const0_operand (operands[2], V14QImode))
            return -1;
          return 2;

        case V8QImode:
          if (!const0_operand (operands[2], V8QImode))
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case V8SImode:
              if (!register_operand (operands[1], V8SImode))
                return -1;
              return 3;

            case V8HImode:
              if (!register_operand (operands[1], V8HImode))
                return -1;
              return 4;

            default:
              return -1;
            }

        default:
          return -1;
        }

    case V8HImode:
      if (!register_operand (operands[0], V8HImode)
          || GET_MODE (x1) != V8HImode)
        return -1;
      x2 = XEXP (x1, 0);
      switch (GET_MODE (x2))
        {
        case V4HImode:
          res = pattern315 (V4HImode);
          if (res >= 0)
            return res + 5; /* [5, 6] */
          return -1;

        case V2HImode:
          if (!register_operand (operands[1], V2DImode)
              || !const0_operand (operands[2], V6HImode))
            return -1;
          return 7;

        default:
          return -1;
        }

    case V4SImode:
      if (!register_operand (operands[0], V4SImode)
          || GET_MODE (x1) != V4SImode)
        return -1;
      x2 = XEXP (x1, 0);
      if (GET_MODE (x2) != V2SImode
          || !register_operand (operands[1], V2DImode)
          || !const0_operand (operands[2], V2SImode))
        return -1;
      return 8;

    default:
      return -1;
    }
}

static int
pattern317 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  if (XVECLEN (x2, 0) != 8
      || GET_MODE (x2) != V8QImode)
    return -1;
  x3 = XVECEXP (x2, 0, 0);
  if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x4 = XVECEXP (x2, 0, 1);
  if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x5 = XVECEXP (x2, 0, 2);
  if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x6 = XVECEXP (x2, 0, 3);
  if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x7 = XVECEXP (x2, 0, 4);
  if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x8 = XVECEXP (x2, 0, 5);
  if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x9 = XVECEXP (x2, 0, 6);
  if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x10 = XVECEXP (x2, 0, 7);
  if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
      || pattern248 (x1, V8DImode, V8QImode, V16QImode) != 0)
    return -1;
  return 0;
}

static int
pattern318 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i3)
      || GET_MODE (x1) != i3)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2
      || !nonimmediate_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern319 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 1);
  x4 = XVECEXP (x3, 0, 0);
  if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x5 = XVECEXP (x3, 0, 1);
  if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x6 = XVECEXP (x3, 0, 2);
  if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
    return -1;
  x7 = XVECEXP (x3, 0, 3);
  if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
    return -1;
  x8 = XVECEXP (x3, 0, 4);
  if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
    return -1;
  x9 = XVECEXP (x3, 0, 5);
  if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
    return -1;
  x10 = XVECEXP (x3, 0, 6);
  if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
    return -1;
  x11 = XVECEXP (x3, 0, 7);
  if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
      || pattern318 (x1, i1, i2, V8DFmode) != 0)
    return -1;
  return 0;
}

static int
pattern320 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 1);
  x4 = XVECEXP (x3, 0, 0);
  if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x5 = XVECEXP (x3, 0, 1);
  if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x6 = XVECEXP (x3, 0, 2);
  if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
    return -1;
  x7 = XVECEXP (x3, 0, 3);
  if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 3]
      || pattern318 (x1, i1, i2, V4DFmode) != 0)
    return -1;
  return 0;
}

static int
pattern321 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19, x20, x21, x22, x23, x24, x25;
  rtx x26, x27, x28, x29, x30, x31, x32, x33;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  if (GET_CODE (x2) != CONST_INT)
    return -1;
  x3 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x3) != CONST_INT)
    return -1;
  x4 = XVECEXP (x1, 0, 2);
  if (GET_CODE (x4) != CONST_INT)
    return -1;
  x5 = XVECEXP (x1, 0, 3);
  if (GET_CODE (x5) != CONST_INT)
    return -1;
  x6 = XVECEXP (x1, 0, 4);
  if (GET_CODE (x6) != CONST_INT)
    return -1;
  x7 = XVECEXP (x1, 0, 5);
  if (GET_CODE (x7) != CONST_INT)
    return -1;
  x8 = XVECEXP (x1, 0, 6);
  if (GET_CODE (x8) != CONST_INT)
    return -1;
  x9 = XVECEXP (x1, 0, 7);
  if (GET_CODE (x9) != CONST_INT)
    return -1;
  x10 = XVECEXP (x1, 0, 8);
  if (GET_CODE (x10) != CONST_INT)
    return -1;
  x11 = XVECEXP (x1, 0, 9);
  if (GET_CODE (x11) != CONST_INT)
    return -1;
  x12 = XVECEXP (x1, 0, 10);
  if (GET_CODE (x12) != CONST_INT)
    return -1;
  x13 = XVECEXP (x1, 0, 11);
  if (GET_CODE (x13) != CONST_INT)
    return -1;
  x14 = XVECEXP (x1, 0, 12);
  if (GET_CODE (x14) != CONST_INT)
    return -1;
  x15 = XVECEXP (x1, 0, 13);
  if (GET_CODE (x15) != CONST_INT)
    return -1;
  x16 = XVECEXP (x1, 0, 14);
  if (GET_CODE (x16) != CONST_INT)
    return -1;
  x17 = XVECEXP (x1, 0, 15);
  if (GET_CODE (x17) != CONST_INT)
    return -1;
  x18 = XVECEXP (x1, 0, 16);
  if (GET_CODE (x18) != CONST_INT)
    return -1;
  x19 = XVECEXP (x1, 0, 17);
  if (GET_CODE (x19) != CONST_INT)
    return -1;
  x20 = XVECEXP (x1, 0, 18);
  if (GET_CODE (x20) != CONST_INT)
    return -1;
  x21 = XVECEXP (x1, 0, 19);
  if (GET_CODE (x21) != CONST_INT)
    return -1;
  x22 = XVECEXP (x1, 0, 20);
  if (GET_CODE (x22) != CONST_INT)
    return -1;
  x23 = XVECEXP (x1, 0, 21);
  if (GET_CODE (x23) != CONST_INT)
    return -1;
  x24 = XVECEXP (x1, 0, 22);
  if (GET_CODE (x24) != CONST_INT)
    return -1;
  x25 = XVECEXP (x1, 0, 23);
  if (GET_CODE (x25) != CONST_INT)
    return -1;
  x26 = XVECEXP (x1, 0, 24);
  if (GET_CODE (x26) != CONST_INT)
    return -1;
  x27 = XVECEXP (x1, 0, 25);
  if (GET_CODE (x27) != CONST_INT)
    return -1;
  x28 = XVECEXP (x1, 0, 26);
  if (GET_CODE (x28) != CONST_INT)
    return -1;
  x29 = XVECEXP (x1, 0, 27);
  if (GET_CODE (x29) != CONST_INT)
    return -1;
  x30 = XVECEXP (x1, 0, 28);
  if (GET_CODE (x30) != CONST_INT)
    return -1;
  x31 = XVECEXP (x1, 0, 29);
  if (GET_CODE (x31) != CONST_INT)
    return -1;
  x32 = XVECEXP (x1, 0, 30);
  if (GET_CODE (x32) != CONST_INT)
    return -1;
  x33 = XVECEXP (x1, 0, 31);
  if (GET_CODE (x33) != CONST_INT)
    return -1;
  return 0;
}

static int
pattern322 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != QImode)
    return -1;
  x5 = XEXP (x4, 0);
  if (GET_CODE (x5) != SUBREG
      || XINT (x5, 1) != 0
      || GET_MODE (x5) != QImode)
    return -1;
  x6 = XEXP (x5, 0);
  if (GET_CODE (x6) != ZERO_EXTRACT
      || GET_MODE (x6) != SImode)
    return -1;
  x7 = XEXP (x6, 1);
  if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    return -1;
  x8 = XEXP (x6, 2);
  if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    return -1;
  x9 = XEXP (x2, 0);
  if (GET_CODE (x9) != ZERO_EXTRACT
      || GET_MODE (x9) != SImode)
    return -1;
  x10 = XEXP (x9, 1);
  if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    return -1;
  x11 = XEXP (x9, 2);
  if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    return -1;
  x12 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x12) != CLOBBER)
    return -1;
  x13 = XEXP (x12, 0);
  if (GET_CODE (x13) != REG
      || REGNO (x13) != 17
      || GET_MODE (x13) != CCmode)
    return -1;
  x14 = XEXP (x9, 0);
  operands[0] = x14;
  if (!ext_register_operand (operands[0], VOIDmode)
      || GET_MODE (x3) != SImode)
    return -1;
  x15 = XEXP (x6, 0);
  operands[1] = x15;
  if (!ext_register_operand (operands[1], VOIDmode))
    return -1;
  return 0;
}

static int
pattern323 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 1);
  operands[2] = x4;
  x5 = XVECEXP (x1, 0, 1);
  switch (GET_CODE (x5))
    {
    case CLOBBER:
      x6 = XEXP (x5, 0);
      if (GET_CODE (x6) != REG
          || REGNO (x6) != 17
          || GET_MODE (x6) != CCmode)
        return -1;
      return 0;

    case UNSPEC:
      if (XVECLEN (x5, 0) != 1
          || XINT (x5, 1) != 170)
        return -1;
      x7 = XVECEXP (x5, 0, 0);
      if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern324 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (GET_MODE (x1) != SImode)
    return -1;
  x2 = XVECEXP (x1, 0, 3);
  if (GET_CODE (x2) != REG
      || REGNO (x2) != 7
      || GET_MODE (x2) != SImode)
    return -1;
  return 0;
}

static int
pattern325 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (GET_MODE (x1) != i1)
    return -1;
  x2 = XVECEXP (x1, 0, 2);
  if (GET_CODE (x2) != REG
      || REGNO (x2) != 7
      || GET_MODE (x2) != i1)
    return -1;
  return 0;
}

static int
pattern326 (rtx x1, machine_mode i1, int i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) != DImode)
    return -1;
  x4 = XVECEXP (x3, 0, 0);
  if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x5 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x5) != SET)
    return -1;
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) != UNSPEC_VOLATILE
      || XVECLEN (x6, 0) != 1
      || XINT (x6, 1) != i2
      || GET_MODE (x6) != i1)
    return -1;
  x7 = XVECEXP (x6, 0, 0);
  if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
      || !register_operand (operands[0], DImode))
    return -1;
  x8 = XEXP (x5, 0);
  operands[1] = x8;
  if (!register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern327 (rtx x1, int i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XVECEXP (x3, 0, 0);
  if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x5 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x5) != SET)
    return -1;
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) != UNSPEC_VOLATILE
      || XVECLEN (x6, 0) != 1
      || XINT (x6, 1) != i1
      || GET_MODE (x6) != CCCmode)
    return -1;
  x7 = XVECEXP (x6, 0, 0);
  if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x8 = XEXP (x5, 0);
  if (GET_CODE (x8) != REG
      || REGNO (x8) != 17
      || GET_MODE (x8) != CCCmode)
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case HImode:
      if (!register_operand (operands[0], HImode)
          || GET_MODE (x3) != HImode)
        return -1;
      return 0;

    case SImode:
      if (!register_operand (operands[0], SImode)
          || GET_MODE (x3) != SImode)
        return -1;
      return 1;

    case DImode:
      if (!register_operand (operands[0], DImode)
          || GET_MODE (x3) != DImode)
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern328 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19, x20, x21, x22, x23, x24, x25;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != SET)
    return -1;
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) != UNSPEC
      || XVECLEN (x3, 0) != 5
      || XINT (x3, 1) != 122
      || GET_MODE (x3) != V16QImode)
    return -1;
  x4 = XVECEXP (x1, 0, 2);
  if (GET_CODE (x4) != SET)
    return -1;
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) != UNSPEC
      || XVECLEN (x5, 0) != 5
      || XINT (x5, 1) != 122
      || GET_MODE (x5) != CCmode)
    return -1;
  x6 = XEXP (x4, 0);
  if (GET_CODE (x6) != REG
      || REGNO (x6) != 17
      || GET_MODE (x6) != CCmode)
    return -1;
  x7 = XVECEXP (x1, 0, 0);
  x8 = XEXP (x7, 0);
  operands[0] = x8;
  if (!register_operand (operands[0], SImode))
    return -1;
  x9 = XEXP (x7, 1);
  x10 = XVECEXP (x9, 0, 0);
  operands[2] = x10;
  if (!register_operand (operands[2], V16QImode))
    return -1;
  x11 = XVECEXP (x9, 0, 1);
  operands[3] = x11;
  if (!register_operand (operands[3], SImode))
    return -1;
  x12 = XVECEXP (x9, 0, 2);
  operands[4] = x12;
  if (!nonimmediate_operand (operands[4], V16QImode))
    return -1;
  x13 = XVECEXP (x9, 0, 3);
  operands[5] = x13;
  if (!register_operand (operands[5], SImode))
    return -1;
  x14 = XVECEXP (x9, 0, 4);
  operands[6] = x14;
  if (!const_0_to_255_operand (operands[6], SImode))
    return -1;
  x15 = XEXP (x2, 0);
  operands[1] = x15;
  if (!register_operand (operands[1], V16QImode))
    return -1;
  x16 = XVECEXP (x3, 0, 0);
  if (!rtx_equal_p (x16, operands[2]))
    return -1;
  x17 = XVECEXP (x3, 0, 1);
  if (!rtx_equal_p (x17, operands[3]))
    return -1;
  x18 = XVECEXP (x3, 0, 2);
  if (!rtx_equal_p (x18, operands[4]))
    return -1;
  x19 = XVECEXP (x3, 0, 3);
  if (!rtx_equal_p (x19, operands[5]))
    return -1;
  x20 = XVECEXP (x3, 0, 4);
  if (!rtx_equal_p (x20, operands[6]))
    return -1;
  x21 = XVECEXP (x5, 0, 0);
  if (!rtx_equal_p (x21, operands[2]))
    return -1;
  x22 = XVECEXP (x5, 0, 1);
  if (!rtx_equal_p (x22, operands[3]))
    return -1;
  x23 = XVECEXP (x5, 0, 2);
  if (!rtx_equal_p (x23, operands[4]))
    return -1;
  x24 = XVECEXP (x5, 0, 3);
  if (!rtx_equal_p (x24, operands[5]))
    return -1;
  x25 = XVECEXP (x5, 0, 4);
  if (!rtx_equal_p (x25, operands[6]))
    return -1;
  return 0;
}

static int
pattern329 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != REG
      || REGNO (x3) != 17
      || GET_MODE (x3) != CCmode)
    return -1;
  x4 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x4) != CLOBBER)
    return -1;
  x5 = XVECEXP (x1, 0, 2);
  if (GET_CODE (x5) != CLOBBER)
    return -1;
  x6 = XEXP (x2, 1);
  x7 = XVECEXP (x6, 0, 0);
  operands[2] = x7;
  if (!register_operand (operands[2], V16QImode))
    return -1;
  x8 = XVECEXP (x6, 0, 1);
  operands[3] = x8;
  return 0;
}

static int
pattern330 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != SET)
    return -1;
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) != UNSPEC
      || XVECLEN (x3, 0) != 3
      || XINT (x3, 1) != 123
      || GET_MODE (x3) != V16QImode)
    return -1;
  x4 = XVECEXP (x1, 0, 2);
  if (GET_CODE (x4) != SET)
    return -1;
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) != UNSPEC
      || XVECLEN (x5, 0) != 3
      || XINT (x5, 1) != 123
      || GET_MODE (x5) != CCmode)
    return -1;
  x6 = XEXP (x4, 0);
  if (GET_CODE (x6) != REG
      || REGNO (x6) != 17
      || GET_MODE (x6) != CCmode)
    return -1;
  x7 = XVECEXP (x1, 0, 0);
  x8 = XEXP (x7, 0);
  operands[0] = x8;
  if (!register_operand (operands[0], SImode))
    return -1;
  x9 = XEXP (x7, 1);
  x10 = XVECEXP (x9, 0, 0);
  operands[2] = x10;
  if (!register_operand (operands[2], V16QImode))
    return -1;
  x11 = XVECEXP (x9, 0, 1);
  operands[3] = x11;
  if (!nonimmediate_operand (operands[3], V16QImode))
    return -1;
  x12 = XVECEXP (x9, 0, 2);
  operands[4] = x12;
  if (!const_0_to_255_operand (operands[4], SImode))
    return -1;
  x13 = XEXP (x2, 0);
  operands[1] = x13;
  if (!register_operand (operands[1], V16QImode))
    return -1;
  x14 = XVECEXP (x3, 0, 0);
  if (!rtx_equal_p (x14, operands[2]))
    return -1;
  x15 = XVECEXP (x3, 0, 1);
  if (!rtx_equal_p (x15, operands[3]))
    return -1;
  x16 = XVECEXP (x3, 0, 2);
  if (!rtx_equal_p (x16, operands[4]))
    return -1;
  x17 = XVECEXP (x5, 0, 0);
  if (!rtx_equal_p (x17, operands[2]))
    return -1;
  x18 = XVECEXP (x5, 0, 1);
  if (!rtx_equal_p (x18, operands[3]))
    return -1;
  x19 = XVECEXP (x5, 0, 2);
  if (!rtx_equal_p (x19, operands[4]))
    return -1;
  return 0;
}

static int
pattern331 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  if (XINT (x3, 1) != 62)
    return -1;
  x4 = XVECEXP (x1, 0, 1);
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) != UNSPEC_VOLATILE
      || XVECLEN (x5, 0) != 1
      || XINT (x5, 1) != 62)
    return -1;
  x6 = XVECEXP (x5, 0, 0);
  if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x7 = XVECEXP (x1, 0, 2);
  if (GET_CODE (x7) != SET)
    return -1;
  x8 = XEXP (x7, 1);
  if (GET_CODE (x8) != UNSPEC_VOLATILE
      || XVECLEN (x8, 0) != 1
      || XINT (x8, 1) != 62
      || GET_MODE (x8) != CCZmode)
    return -1;
  x9 = XVECEXP (x8, 0, 0);
  if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x10 = XEXP (x7, 0);
  if (GET_CODE (x10) != REG
      || REGNO (x10) != 17
      || GET_MODE (x10) != CCZmode)
    return -1;
  x11 = XVECEXP (x3, 0, 0);
  operands[1] = x11;
  x12 = XVECEXP (x3, 0, 1);
  operands[2] = x12;
  x13 = XVECEXP (x3, 0, 2);
  operands[3] = x13;
  x14 = XVECEXP (x3, 0, 3);
  operands[4] = x14;
  return 0;
}

static int
pattern332 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) != CCmode)
    return -1;
  x4 = XEXP (x2, 0);
  if (GET_CODE (x4) != REG
      || REGNO (x4) != 17
      || GET_MODE (x4) != CCmode)
    return -1;
  x5 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x5) != CLOBBER)
    return -1;
  x6 = XVECEXP (x1, 0, 2);
  if (GET_CODE (x6) != CLOBBER)
    return -1;
  x7 = XVECEXP (x3, 0, 0);
  operands[3] = x7;
  if (!register_operand (operands[3], DImode))
    return -1;
  x8 = XEXP (x5, 0);
  operands[0] = x8;
  if (!scratch_operand (operands[0], DImode))
    return -1;
  x9 = XEXP (x6, 0);
  operands[1] = x9;
  if (!scratch_operand (operands[1], SImode))
    return -1;
  x10 = XVECEXP (x1, 0, 3);
  x11 = XEXP (x10, 0);
  operands[2] = x11;
  if (!scratch_operand (operands[2], HImode))
    return -1;
  return 0;
}

static int
pattern333 (rtx x1, int *pnum_clobbers)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XEXP (x2, 0);
  operands[2] = x3;
  if (!memory_operand (operands[2], HImode))
    return -1;
  x4 = XVECEXP (x1, 0, 2);
  x5 = XEXP (x4, 0);
  operands[3] = x5;
  if (!memory_operand (operands[3], HImode))
    return -1;
  x6 = XVECEXP (x1, 0, 3);
  x7 = XEXP (x6, 0);
  operands[4] = x7;
  switch (GET_CODE (operands[4]))
    {
    case REG:
    case SCRATCH:
      if (!scratch_operand (operands[4], XFmode)
          || !memory_operand (operands[0], DImode))
        return -1;
      x8 = XVECEXP (x1, 0, 0);
      x9 = XEXP (x8, 1);
      if (GET_MODE (x9) != DImode)
        return -1;
      return 0;

    case SUBREG:
    case MEM:
      switch (GET_MODE (operands[0]))
        {
        case DImode:
          if (pnum_clobbers == NULL
              || !nonimmediate_operand (operands[0], DImode))
            return -1;
          x8 = XVECEXP (x1, 0, 0);
          x9 = XEXP (x8, 1);
          if (GET_MODE (x9) != DImode
              || !memory_operand (operands[4], DImode))
            return -1;
          return 1;

        case HImode:
          if (!nonimmediate_operand (operands[0], HImode))
            return -1;
          x8 = XVECEXP (x1, 0, 0);
          x9 = XEXP (x8, 1);
          if (GET_MODE (x9) != HImode
              || !memory_operand (operands[4], HImode))
            return -1;
          return 2;

        case SImode:
          if (!nonimmediate_operand (operands[0], SImode))
            return -1;
          x8 = XVECEXP (x1, 0, 0);
          x9 = XEXP (x8, 1);
          if (GET_MODE (x9) != SImode
              || !memory_operand (operands[4], SImode))
            return -1;
          return 3;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern334 (rtx x1, int *pnum_clobbers)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != USE)
    return -1;
  x3 = XVECEXP (x1, 0, 2);
  if (GET_CODE (x3) != USE)
    return -1;
  x4 = XVECEXP (x1, 0, 0);
  x5 = XEXP (x4, 0);
  operands[0] = x5;
  x6 = XEXP (x4, 1);
  x7 = XVECEXP (x6, 0, 0);
  operands[1] = x7;
  if (!register_operand (operands[1], XFmode))
    return -1;
  return pattern333 (x1, pnum_clobbers); /* [-1, 3] */
}

static int
pattern335 (rtx x1, unsigned int i1, rtx_code i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  if (GET_CODE (x1) != SET)
    return -1;
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) != i2)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != REG
      || REGNO (x3) != i1)
    return -1;
  x4 = XEXP (x1, 0);
  if (GET_CODE (x4) != REG
      || REGNO (x4) != i1)
    return -1;
  return 0;
}

static int
pattern336 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != CLOBBER)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != REG
      || REGNO (x3) != 17
      || GET_MODE (x3) != CCmode)
    return -1;
  x4 = XVECEXP (x1, 0, 0);
  x5 = XEXP (x4, 1);
  x6 = XVECEXP (x5, 0, 0);
  operands[1] = x6;
  switch (GET_MODE (operands[0]))
    {
    case SImode:
      if (!register_operand (operands[0], SImode)
          || GET_MODE (x5) != SImode
          || !nonimmediate_operand (operands[1], SImode))
        return -1;
      return 0;

    case DImode:
      if (!register_operand (operands[0], DImode)
          || GET_MODE (x5) != DImode
          || !nonimmediate_operand (operands[1], DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern337 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != CLOBBER)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != REG
      || REGNO (x3) != 17
      || GET_MODE (x3) != CCmode)
    return -1;
  x4 = XVECEXP (x1, 0, 0);
  x5 = XEXP (x4, 1);
  x6 = XVECEXP (x5, 0, 0);
  operands[1] = x6;
  return pattern259 (x5); /* [-1, 2] */
}

static int
pattern338 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != CLOBBER)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != REG
      || REGNO (x3) != 17
      || GET_MODE (x3) != CCmode)
    return -1;
  x4 = XVECEXP (x1, 0, 0);
  x5 = XEXP (x4, 1);
  return pattern262 (x5); /* [-1, 2] */
}

static int
pattern339 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XEXP (x2, 0);
  operands[2] = x3;
  if (!memory_operand (operands[2], HImode))
    return -1;
  x4 = XVECEXP (x1, 0, 2);
  x5 = XEXP (x4, 0);
  operands[3] = x5;
  if (!memory_operand (operands[3], HImode))
    return -1;
  x6 = XVECEXP (x1, 0, 3);
  x7 = XEXP (x6, 0);
  operands[4] = x7;
  switch (GET_MODE (operands[0]))
    {
    case HImode:
      x8 = XVECEXP (x1, 0, 0);
      x9 = XEXP (x8, 1);
      if (GET_MODE (x9) != HImode
          || !memory_operand (operands[4], HImode))
        return -1;
      return 0;

    case SImode:
      x8 = XVECEXP (x1, 0, 0);
      x9 = XEXP (x8, 1);
      if (GET_MODE (x9) != SImode
          || !memory_operand (operands[4], SImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern340 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != USE)
    return -1;
  x3 = XVECEXP (x1, 0, 2);
  if (GET_CODE (x3) != USE)
    return -1;
  x4 = XVECEXP (x1, 0, 0);
  x5 = XEXP (x4, 0);
  operands[0] = x5;
  x6 = XEXP (x4, 1);
  x7 = XVECEXP (x6, 0, 0);
  operands[1] = x7;
  if (!register_operand (operands[1], XFmode))
    return -1;
  return pattern339 (x1); /* [-1, 1] */
}

static int
pattern341 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 12);
  if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
    return -1;
  x3 = XVECEXP (x1, 0, 13);
  if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 13])
    return -1;
  x4 = XVECEXP (x1, 0, 14);
  if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 14])
    return -1;
  x5 = XVECEXP (x1, 0, 15);
  if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 15])
    return -1;
  return 0;
}

static int
pattern342 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x3 = XVECEXP (x1, 0, 1);
  if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x4 = XVECEXP (x1, 0, 2);
  if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
    return -1;
  x5 = XVECEXP (x1, 0, 3);
  if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
    return -1;
  x6 = XVECEXP (x1, 0, 4);
  if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
    return -1;
  x7 = XVECEXP (x1, 0, 5);
  if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
    return -1;
  x8 = XVECEXP (x1, 0, 6);
  if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
    return -1;
  x9 = XVECEXP (x1, 0, 7);
  if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
    return -1;
  x10 = XVECEXP (x1, 0, 8);
  if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    return -1;
  x11 = XVECEXP (x1, 0, 9);
  if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 9])
    return -1;
  x12 = XVECEXP (x1, 0, 10);
  if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
    return -1;
  x13 = XVECEXP (x1, 0, 11);
  if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 11]
      || pattern341 (x1) != 0)
    return -1;
  return 0;
}

static int
pattern343 (rtx x1, rtx_code i1, int i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (GET_CODE (x1) != PARALLEL
      || XVECLEN (x1, 0) != i2)
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  if (GET_CODE (x2) != SET)
    return -1;
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) != i1)
    return -1;
  return 0;
}

static int
pattern344 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (GET_MODE (x1) != i1)
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case SFmode:
      if (!register_operand (operands[0], SFmode)
          || !register_ssemem_operand (operands[1], SFmode))
        return -1;
      return 0;

    case DFmode:
      if (!register_operand (operands[0], DFmode)
          || !register_ssemem_operand (operands[1], DFmode))
        return -1;
      return 1;

    case XFmode:
      if (!register_operand (operands[0], XFmode)
          || !register_operand (operands[1], XFmode))
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern345 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  if (XINT (x1, 1) != 0
      || GET_MODE (x1) != QImode)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) != ZERO_EXTRACT
      || GET_MODE (x2) != SImode)
    return -1;
  x3 = XEXP (x2, 1);
  if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    return -1;
  x4 = XEXP (x2, 2);
  if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    return -1;
  x5 = XEXP (x2, 0);
  operands[1] = x5;
  if (!ext_register_operand (operands[1], VOIDmode))
    return -1;
  return 0;
}

static int
pattern346 ()
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[1]))
    {
    case V16QImode:
      if (!register_operand (operands[1], V16QImode)
          || !nonimmediate_operand (operands[2], V16QImode))
        return -1;
      return 0;

    case V16HImode:
      if (!register_operand (operands[1], V16HImode)
          || !nonimmediate_operand (operands[2], V16HImode))
        return -1;
      return 1;

    case V16SImode:
      if (!register_operand (operands[1], V16SImode)
          || !nonimmediate_operand (operands[2], V16SImode))
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern347 ()
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[1]))
    {
    case V8HImode:
      if (!register_operand (operands[1], V8HImode)
          || !nonimmediate_operand (operands[2], V8HImode))
        return -1;
      return 0;

    case V8SImode:
      if (!register_operand (operands[1], V8SImode)
          || !nonimmediate_operand (operands[2], V8SImode))
        return -1;
      return 1;

    case V4SImode:
      if (!register_operand (operands[1], V4SImode)
          || !nonimmediate_operand (operands[2], V4SImode))
        return -1;
      return 2;

    case V8DImode:
      if (!register_operand (operands[1], V8DImode)
          || !nonimmediate_operand (operands[2], V8DImode))
        return -1;
      return 3;

    case V4DImode:
      if (!register_operand (operands[1], V4DImode)
          || !nonimmediate_operand (operands[2], V4DImode))
        return -1;
      return 4;

    case V2DImode:
      if (!register_operand (operands[1], V2DImode)
          || !nonimmediate_operand (operands[2], V2DImode))
        return -1;
      return 5;

    default:
      return -1;
    }
}

static int
pattern348 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  operands[3] = x2;
  switch (GET_MODE (operands[0]))
    {
    case HImode:
      if (!register_operand (operands[0], HImode)
          || GET_MODE (x1) != HImode)
        return -1;
      x3 = XEXP (x1, 0);
      if (GET_MODE (x3) != HImode
          || !register_operand (operands[3], HImode))
        return -1;
      return pattern346 (); /* [-1, 2] */

    case QImode:
      if (!register_operand (operands[0], QImode)
          || GET_MODE (x1) != QImode)
        return -1;
      x3 = XEXP (x1, 0);
      if (GET_MODE (x3) != QImode
          || !register_operand (operands[3], QImode))
        return -1;
      res = pattern347 ();
      if (res >= 0)
        return res + 3; /* [3, 8] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern349 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[1], i1)
      || !register_operand (operands[2], i1)
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern350 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || !sse_comparison_operator (operands[3], i1)
      || !register_operand (operands[1], i1)
      || !nonimmediate_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern351 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (GET_CODE (x1) != VEC_SELECT
      || GET_MODE (x1) != DFmode)
    return -1;
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) != PARALLEL
      || XVECLEN (x2, 0) != 1)
    return -1;
  x3 = XVECEXP (x2, 0, 0);
  if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  return 0;
}

static int
pattern352 ()
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[0]))
    {
    case DFmode:
      if (!register_operand (operands[0], DFmode)
          || !binary_fp_operator (operands[3], DFmode))
        return -1;
      return 0;

    case XFmode:
      if (!register_operand (operands[0], XFmode)
          || !binary_fp_operator (operands[3], XFmode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern353 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || !binary_fp_operator (operands[3], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[2], i1))
    return -1;
  switch (GET_MODE (operands[1]))
    {
    case HImode:
      if (!nonimmediate_operand (operands[1], HImode))
        return -1;
      return 0;

    case SImode:
      if (!nonimmediate_operand (operands[1], SImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern354 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2
      || !register_operand (operands[1], i1))
    return -1;
  x3 = XEXP (x1, 1);
  if (GET_MODE (x3) != i2
      || !nonimmediate_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern355 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i3)
      || GET_MODE (x1) != i3
      || pattern354 (x1, i1, i2) != 0)
    return -1;
  return 0;
}

static int
pattern356 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  if (XINT (x2, 1) != 0
      || GET_MODE (x2) != QImode)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != ZERO_EXTRACT
      || GET_MODE (x3) != SImode)
    return -1;
  x4 = XEXP (x3, 1);
  if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    return -1;
  x5 = XEXP (x3, 2);
  if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 8]
      || GET_MODE (x1) != QImode)
    return -1;
  return 0;
}

static int
pattern357 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !nonimmediate_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern358 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !nonimmediate_operand (operands[1], i1))
    return -1;
  x3 = XEXP (x1, 1);
  if (GET_MODE (x3) != i1)
    return -1;
  return 0;
}

static int
pattern359 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (GET_CODE (x2))
    {
    case REG:
    case SUBREG:
    case MEM:
      if (!rtx_equal_p (x2, operands[1]))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case SImode:
          return pattern357 (x1, SImode); /* [-1, 0] */

        case DImode:
          if (pattern357 (x1, DImode) != 0)
            return -1;
          return 1;

        default:
          return -1;
        }

    case NOT:
      x3 = XEXP (x2, 0);
      if (!rtx_equal_p (x3, operands[1]))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case SImode:
          if (pattern358 (x1, SImode) != 0)
            return -1;
          return 2;

        case DImode:
          if (pattern358 (x1, DImode) != 0)
            return -1;
          return 3;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern360 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != i1
      || !nonimmediate_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern361 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !nonimmediate_operand (operands[1], i1)
      || !x86_64_general_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern362 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i2)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != i2
      || !nonimmediate_operand (operands[1], i1))
    return -1;
  x5 = XEXP (x3, 1);
  if (GET_MODE (x5) != i2
      || !nonimmediate_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern363 (rtx x1, rtx_code i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) != i1)
    return -1;
  x5 = XEXP (x3, 0);
  x6 = XEXP (x5, 0);
  operands[1] = x6;
  x7 = XEXP (x4, 0);
  operands[2] = x7;
  x8 = XEXP (x2, 1);
  switch (XWINT (x8, 0))
    {
    case 64LL:
      return pattern362 (x1, DImode, TImode); /* [-1, 0] */

    case 32LL:
      if (pattern362 (x1, SImode, DImode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern364 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  switch (GET_MODE (operands[1]))
    {
    case SFmode:
      if (!nonimmediate_operand (operands[1], SFmode))
        return -1;
      return 0;

    case DFmode:
      if (!nonimmediate_operand (operands[1], DFmode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern365 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i1)
      || !register_operand (operands[2], i1)
      || !nonimmediate_operand (operands[3], i1)
      || !const0_operand (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern366 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i1)
      || !register_operand (operands[2], i1)
      || !nonimmediate_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern367 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XVECEXP (x2, 0, 2);
  operands[3] = x3;
  x4 = XEXP (x1, 2);
  if (!register_operand (x4, QImode))
    return -1;
  x5 = XEXP (x1, 1);
  switch (GET_CODE (x5))
    {
    case CONST_INT:
    case CONST_DOUBLE:
    case CONST_VECTOR:
      operands[4] = x5;
      operands[5] = x4;
      switch (GET_MODE (operands[0]))
        {
        case V8DImode:
          return pattern365 (x1, V8DImode); /* [-1, 0] */

        case V4DImode:
          if (pattern365 (x1, V4DImode) != 0)
            return -1;
          return 1;

        case V2DImode:
          if (pattern365 (x1, V2DImode) != 0)
            return -1;
          return 2;

        default:
          return -1;
        }

    case REG:
    case SUBREG:
      if (!rtx_equal_p (x5, operands[1]))
        return -1;
      operands[4] = x4;
      switch (GET_MODE (operands[0]))
        {
        case V8DImode:
          if (pattern366 (x1, V8DImode) != 0)
            return -1;
          return 3;

        case V4DImode:
          if (pattern366 (x1, V4DImode) != 0)
            return -1;
          return 4;

        case V2DImode:
          if (pattern366 (x1, V2DImode) != 0)
            return -1;
          return 5;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern368 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2
      || !register_operand (operands[1], i2)
      || !const0_operand (operands[4], i2)
      || !register_operand (operands[5], i1))
    return -1;
  return 0;
}

static int
pattern369 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[2], V64SFmode))
    return -1;
  x2 = XEXP (x1, 0);
  x3 = XVECEXP (x2, 0, 2);
  operands[3] = x3;
  if (!memory_operand (operands[3], V4SFmode))
    return -1;
  x4 = XEXP (x1, 1);
  operands[4] = x4;
  x5 = XEXP (x1, 2);
  operands[5] = x5;
  switch (GET_MODE (operands[0]))
    {
    case V16SFmode:
      return pattern368 (x1, HImode, V16SFmode); /* [-1, 0] */

    case V4SFmode:
      if (pattern368 (x1, QImode, V4SFmode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern370 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != V16SImode
      || !register_operand (operands[0], V16SImode)
      || GET_MODE (x1) != V16SImode
      || !register_operand (operands[1], V16SImode)
      || !register_operand (operands[2], V64SImode))
    return -1;
  x3 = XVECEXP (x2, 0, 2);
  operands[3] = x3;
  if (!memory_operand (operands[3], V4SImode))
    return -1;
  x4 = XEXP (x1, 1);
  operands[4] = x4;
  if (!const0_operand (operands[4], V16SImode))
    return -1;
  x5 = XEXP (x1, 2);
  operands[5] = x5;
  if (!register_operand (operands[5], HImode))
    return -1;
  return 0;
}

static int
pattern371 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !vector_all_ones_operand (operands[2], i1)
      || !const0_operand (operands[3], i1)
      || !register_operand (operands[1], i2))
    return -1;
  return 0;
}

static int
pattern372 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19, x20, x21, x22, x23, x24, x25;
  rtx x26, x27, x28, x29, x30, x31, x32, x33;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  if (GET_CODE (x2) != CONST_INT)
    return -1;
  x3 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x3) != CONST_INT)
    return -1;
  x4 = XVECEXP (x1, 0, 2);
  if (GET_CODE (x4) != CONST_INT)
    return -1;
  x5 = XVECEXP (x1, 0, 3);
  if (GET_CODE (x5) != CONST_INT)
    return -1;
  x6 = XVECEXP (x1, 0, 4);
  if (GET_CODE (x6) != CONST_INT)
    return -1;
  x7 = XVECEXP (x1, 0, 5);
  if (GET_CODE (x7) != CONST_INT)
    return -1;
  x8 = XVECEXP (x1, 0, 6);
  if (GET_CODE (x8) != CONST_INT)
    return -1;
  x9 = XVECEXP (x1, 0, 7);
  if (GET_CODE (x9) != CONST_INT)
    return -1;
  x10 = XVECEXP (x1, 0, 8);
  if (GET_CODE (x10) != CONST_INT)
    return -1;
  x11 = XVECEXP (x1, 0, 9);
  if (GET_CODE (x11) != CONST_INT)
    return -1;
  x12 = XVECEXP (x1, 0, 10);
  if (GET_CODE (x12) != CONST_INT)
    return -1;
  x13 = XVECEXP (x1, 0, 11);
  if (GET_CODE (x13) != CONST_INT)
    return -1;
  x14 = XVECEXP (x1, 0, 12);
  if (GET_CODE (x14) != CONST_INT)
    return -1;
  x15 = XVECEXP (x1, 0, 13);
  if (GET_CODE (x15) != CONST_INT)
    return -1;
  x16 = XVECEXP (x1, 0, 14);
  if (GET_CODE (x16) != CONST_INT)
    return -1;
  x17 = XVECEXP (x1, 0, 15);
  if (GET_CODE (x17) != CONST_INT)
    return -1;
  x18 = XVECEXP (x1, 0, 16);
  if (GET_CODE (x18) != CONST_INT)
    return -1;
  x19 = XVECEXP (x1, 0, 17);
  if (GET_CODE (x19) != CONST_INT)
    return -1;
  x20 = XVECEXP (x1, 0, 18);
  if (GET_CODE (x20) != CONST_INT)
    return -1;
  x21 = XVECEXP (x1, 0, 19);
  if (GET_CODE (x21) != CONST_INT)
    return -1;
  x22 = XVECEXP (x1, 0, 20);
  if (GET_CODE (x22) != CONST_INT)
    return -1;
  x23 = XVECEXP (x1, 0, 21);
  if (GET_CODE (x23) != CONST_INT)
    return -1;
  x24 = XVECEXP (x1, 0, 22);
  if (GET_CODE (x24) != CONST_INT)
    return -1;
  x25 = XVECEXP (x1, 0, 23);
  if (GET_CODE (x25) != CONST_INT)
    return -1;
  x26 = XVECEXP (x1, 0, 24);
  if (GET_CODE (x26) != CONST_INT)
    return -1;
  x27 = XVECEXP (x1, 0, 25);
  if (GET_CODE (x27) != CONST_INT)
    return -1;
  x28 = XVECEXP (x1, 0, 26);
  if (GET_CODE (x28) != CONST_INT)
    return -1;
  x29 = XVECEXP (x1, 0, 27);
  if (GET_CODE (x29) != CONST_INT)
    return -1;
  x30 = XVECEXP (x1, 0, 28);
  if (GET_CODE (x30) != CONST_INT)
    return -1;
  x31 = XVECEXP (x1, 0, 29);
  if (GET_CODE (x31) != CONST_INT)
    return -1;
  x32 = XVECEXP (x1, 0, 30);
  if (GET_CODE (x32) != CONST_INT)
    return -1;
  x33 = XVECEXP (x1, 0, 31);
  if (GET_CODE (x33) != CONST_INT)
    return -1;
  return 0;
}

static int
pattern373 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !nonimmediate_operand (operands[1], i1)
      || !vector_move_operand (operands[2], i1)
      || !register_operand (operands[3], i2))
    return -1;
  return 0;
}

static int
pattern374 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], V16HImode)
      || GET_MODE (x1) != V16HImode)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != V16HImode
      || !nonimmediate_operand (operands[1], i1)
      || !vector_move_operand (operands[2], V16HImode)
      || !register_operand (operands[3], HImode))
    return -1;
  return 0;
}

static int
pattern375 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  switch (GET_MODE (operands[1]))
    {
    case V8SFmode:
      if (!nonimmediate_operand (operands[1], V8SFmode))
        return -1;
      return 0;

    case V8DFmode:
      if (!nonimmediate_operand (operands[1], V8DFmode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern376 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  switch (GET_MODE (operands[1]))
    {
    case V4SFmode:
      if (!nonimmediate_operand (operands[1], V4SFmode))
        return -1;
      return 0;

    case V4DFmode:
      if (!nonimmediate_operand (operands[1], V4DFmode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern377 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !nonimmediate_operand (operands[1], i1)
      || !const_0_to_255_operand (operands[2], SImode))
    return -1;
  return 0;
}

static int
pattern378 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2
      || !register_operand (operands[1], i1)
      || !vector_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern379 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !nonimmediate_operand (operands[1], i1)
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern380 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2
      || !nonimmediate_operand (operands[1], i2)
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern381 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2
      || !register_operand (operands[1], i2)
      || !nonimmediate_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern382 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[2], i2)
      || !memory_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern383 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[2], i1)
      || !memory_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern384 (rtx x1, machine_mode i1, rtx_code i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (GET_CODE (x1) != PLUS
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) != i2
      || GET_MODE (x2) != i1)
    return -1;
  return 0;
}

static int
pattern385 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || !sse_comparison_operator (operands[3], i1)
      || !register_operand (operands[1], i1)
      || !vector_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern386 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || !ix86_comparison_int_operator (operands[1], i1)
      || !register_operand (operands[2], i1)
      || !nonimmediate_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern387 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || !ix86_comparison_uns_operator (operands[1], i1)
      || !register_operand (operands[2], i1)
      || !nonimmediate_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern388 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i2)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != i2
      || !vector_operand (operands[1], i1))
    return -1;
  x5 = XEXP (x3, 1);
  if (GET_MODE (x5) != i2
      || !vector_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern389 (rtx x1, rtx_code i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) != i1)
    return -1;
  x5 = XEXP (x3, 0);
  x6 = XEXP (x5, 0);
  operands[1] = x6;
  x7 = XEXP (x4, 0);
  operands[2] = x7;
  switch (GET_MODE (operands[0]))
    {
    case V32HImode:
      return pattern388 (x1, V32HImode, V32SImode); /* [-1, 0] */

    case V16HImode:
      if (pattern388 (x1, V16HImode, V16SImode) != 0)
        return -1;
      return 1;

    case V8HImode:
      if (pattern388 (x1, V8HImode, V8SImode) != 0)
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern390 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !nonimmediate_operand (operands[3], i1)
      || !register_operand (operands[1], i1)
      || !nonimmediate_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern391 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  operands[1] = x5;
  x6 = XEXP (x4, 1);
  operands[2] = x6;
  x7 = XVECEXP (x1, 0, 1);
  switch (GET_CODE (x7))
    {
    case SET:
      x8 = XEXP (x7, 0);
      operands[0] = x8;
      return 0;

    case CLOBBER:
      x8 = XEXP (x7, 0);
      operands[0] = x8;
      switch (GET_MODE (x4))
        {
        case QImode:
          if (!register_operand (operands[1], QImode)
              || !const_1_to_31_operand (operands[2], QImode)
              || !scratch_operand (operands[0], QImode))
            return -1;
          return 1;

        case HImode:
          if (!register_operand (operands[1], HImode)
              || !const_1_to_31_operand (operands[2], QImode)
              || !scratch_operand (operands[0], HImode))
            return -1;
          return 2;

        case SImode:
          if (!register_operand (operands[1], SImode)
              || !const_1_to_31_operand (operands[2], QImode)
              || !scratch_operand (operands[0], SImode))
            return -1;
          return 3;

        case DImode:
          if (!register_operand (operands[1], DImode)
              || !const_1_to_63_operand (operands[2], QImode)
              || !scratch_operand (operands[0], DImode))
            return -1;
          return 4;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern392 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (GET_CODE (x1) != PLUS
      || GET_MODE (x1) != SImode)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) != REG
      || REGNO (x2) != 7
      || GET_MODE (x2) != SImode)
    return -1;
  return 0;
}

static int
pattern393 (rtx x1, unsigned int i1, unsigned int i2, machine_mode i3, unsigned int i4, machine_mode i5)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i5)
    return -1;
  x4 = XVECEXP (x1, 0, 2);
  if (GET_CODE (x4) != CLOBBER)
    return -1;
  x5 = XEXP (x4, 0);
  if (GET_CODE (x5) != REG
      || REGNO (x5) != i4
      || GET_MODE (x5) != i3)
    return -1;
  x6 = XVECEXP (x1, 0, 3);
  if (GET_CODE (x6) != CLOBBER)
    return -1;
  x7 = XEXP (x6, 0);
  if (GET_CODE (x7) != REG
      || REGNO (x7) != i2
      || GET_MODE (x7) != XFmode)
    return -1;
  x8 = XVECEXP (x1, 0, 4);
  if (GET_CODE (x8) != CLOBBER)
    return -1;
  x9 = XEXP (x8, 0);
  if (GET_CODE (x9) != REG
      || REGNO (x9) != i1)
    return -1;
  return 0;
}

static int
pattern394 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!memory_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2
      || !nonmemory_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern395 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !nonimmediate_operand (operands[2], i1)
      || !nonimmediate_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern396 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  operands[2] = x2;
  x3 = XEXP (x1, 2);
  operands[3] = x3;
  switch (GET_MODE (operands[0]))
    {
    case SImode:
      return pattern395 (x1, SImode); /* [-1, 0] */

    case DImode:
      if (pattern395 (x1, DImode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern397 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  x5 = XEXP (x3, 1);
  operands[2] = x5;
  if (!nonmemory_operand (operands[2], QImode))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case DImode:
      if (!register_operand (operands[0], DImode)
          || GET_MODE (x3) != DImode
          || !register_operand (operands[1], DImode))
        return -1;
      return 0;

    case TImode:
      if (!register_operand (operands[0], TImode)
          || GET_MODE (x3) != TImode
          || !register_operand (operands[1], TImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern398 (rtx x1, int *pnum_clobbers)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (pnum_clobbers == NULL
      || !nonimmediate_operand (operands[0], TImode)
      || GET_MODE (x1) != TImode
      || !nonimmediate_operand (operands[1], TImode)
      || !x86_64_hilo_general_operand (operands[2], TImode))
    return -1;
  return 0;
}

static int
pattern399 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || !binary_fp_operator (operands[3], i1)
      || !register_operand (operands[1], i1)
      || GET_MODE (x1) != i1)
    return -1;
  switch (GET_MODE (operands[2]))
    {
    case HImode:
      if (!nonimmediate_operand (operands[2], HImode))
        return -1;
      return 0;

    case SImode:
      if (!nonimmediate_operand (operands[2], SImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern400 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!memory_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  if (GET_MODE (x2) != i1
      || !nonmemory_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern401 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  operands[1] = x3;
  x4 = XEXP (x2, 0);
  if (!rtx_equal_p (x4, operands[0]))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case QImode:
      return pattern400 (x1, QImode); /* [-1, 0] */

    case HImode:
      if (pattern400 (x1, HImode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern402 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x1, 2);
  if (GET_MODE (x3) != i1)
    return -1;
  return 0;
}

static int
pattern403 ()
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[1]))
    {
    case V32QImode:
      if (!register_operand (operands[1], V32QImode)
          || !nonimmediate_operand (operands[2], V32QImode))
        return -1;
      return 0;

    case V32HImode:
      if (!register_operand (operands[1], V32HImode)
          || !nonimmediate_operand (operands[2], V32HImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern404 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[0]))
    {
    case DImode:
      if (!register_operand (operands[0], DImode)
          || GET_MODE (x1) != DImode)
        return -1;
      x2 = XEXP (x1, 0);
      if (GET_MODE (x2) != DImode
          || !register_operand (operands[1], V64QImode)
          || !nonimmediate_operand (operands[2], V64QImode)
          || !register_operand (operands[3], DImode))
        return -1;
      return 0;

    case SImode:
      if (!register_operand (operands[0], SImode)
          || GET_MODE (x1) != SImode)
        return -1;
      x2 = XEXP (x1, 0);
      if (GET_MODE (x2) != SImode
          || !register_operand (operands[3], SImode))
        return -1;
      res = pattern403 ();
      if (res >= 0)
        return res + 1; /* [1, 2] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern405 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[1], i1)
      || !const_int_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern406 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  operands[1] = x3;
  x4 = XEXP (x2, 0);
  if (!rtx_equal_p (x4, operands[0]))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case SImode:
      return pattern400 (x1, SImode); /* [-1, 0] */

    case DImode:
      if (pattern400 (x1, DImode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern407 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !nonimmediate_operand (operands[1], i1)
      || !vector_move_operand (operands[3], i1)
      || !register_operand (operands[4], i2))
    return -1;
  return 0;
}

static int
pattern408 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  operands[3] = x2;
  x3 = XEXP (x1, 2);
  operands[4] = x3;
  switch (GET_MODE (operands[0]))
    {
    case V16SFmode:
      return pattern407 (x1, V16SFmode, HImode); /* [-1, 0] */

    case V8SFmode:
      if (pattern407 (x1, V8SFmode, QImode) != 0)
        return -1;
      return 1;

    case V4SFmode:
      if (pattern407 (x1, V4SFmode, QImode) != 0)
        return -1;
      return 2;

    case V8DFmode:
      if (pattern407 (x1, V8DFmode, QImode) != 0)
        return -1;
      return 3;

    case V4DFmode:
      if (pattern407 (x1, V4DFmode, QImode) != 0)
        return -1;
      return 4;

    case V2DFmode:
      if (pattern407 (x1, V2DFmode, QImode) != 0)
        return -1;
      return 5;

    default:
      return -1;
    }
}

static int
pattern409 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i1)
      || !vector_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern410 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  if (!rtx_equal_p (x2, operands[1]))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case V4SFmode:
      return pattern409 (x1, V4SFmode); /* [-1, 0] */

    case V2DFmode:
      if (pattern409 (x1, V2DFmode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern411 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !vector_operand (operands[1], i1)
      || !vector_move_operand (operands[2], i1)
      || !register_operand (operands[3], i2))
    return -1;
  return 0;
}

static int
pattern412 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !vector_operand (operands[1], i1)
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern413 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_CODE (x1))
    {
    case REG:
    case SUBREG:
      operands[5] = x1;
      switch (GET_MODE (operands[0]))
        {
        case V16SFmode:
          return 0;

        case V8SFmode:
          return 1;

        case V4SFmode:
          return 2;

        case V8DFmode:
          return 3;

        case V4DFmode:
          return 4;

        case V2DFmode:
          return 5;

        default:
          return -1;
        }

    case CONST_INT:
      if (XWINT (x1, 0) != 1LL)
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case V4SFmode:
          return 6;

        case V2DFmode:
          return 7;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern414 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (GET_CODE (x2))
    {
    case CONST_INT:
    case CONST_DOUBLE:
    case CONST_VECTOR:
      operands[4] = x2;
      x3 = XEXP (x1, 2);
      return pattern413 (x3); /* [-1, 7] */

    case REG:
    case SUBREG:
    case MEM:
      x3 = XEXP (x1, 2);
      switch (GET_CODE (x3))
        {
        case REG:
        case SUBREG:
          operands[4] = x3;
          switch (GET_MODE (operands[0]))
            {
            case V16SFmode:
              return 8;

            case V8SFmode:
              return 9;

            case V4SFmode:
              return 10;

            case V8DFmode:
              return 11;

            case V4DFmode:
              return 12;

            case V2DFmode:
              return 13;

            default:
              return -1;
            }

        case CONST_INT:
          if (XWINT (x3, 0) != 1LL
              || !rtx_equal_p (x2, operands[1]))
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case V4SFmode:
              return 14;

            case V2DFmode:
              return 15;

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern415 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i1)
    return -1;
  return 0;
}

static int
pattern416 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i2
      || !register_operand (operands[1], i1))
    return -1;
  switch (GET_MODE (operands[2]))
    {
    case SImode:
      if (!vector_operand (operands[2], SImode))
        return -1;
      return 0;

    case DImode:
      if (!vector_operand (operands[2], DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern417 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !vector_move_operand (operands[2], i1)
      || !register_operand (operands[3], QImode))
    return -1;
  switch (GET_MODE (operands[1]))
    {
    case V8SImode:
      if (!nonimmediate_operand (operands[1], V8SImode))
        return -1;
      return 0;

    case V8DImode:
      if (!nonimmediate_operand (operands[1], V8DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern418 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !vector_move_operand (operands[2], i1)
      || !register_operand (operands[3], QImode))
    return -1;
  switch (GET_MODE (operands[1]))
    {
    case V4SImode:
      if (!nonimmediate_operand (operands[1], V4SImode))
        return -1;
      return 0;

    case V4DImode:
      if (!nonimmediate_operand (operands[1], V4DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern419 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2)
    return -1;
  x3 = XEXP (x2, 0);
  x4 = XVECEXP (x3, 0, 0);
  operands[1] = x4;
  if (!register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern420 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !vector_operand (operands[1], i2)
      || !vector_move_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern421 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!memory_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[1], i2)
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern422 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!memory_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[1], i1)
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern423 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[1], i1)
      || !vector_operand (operands[2], i1)
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern424 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[1], i1)
      || !register_operand (operands[2], i2)
      || !nonimmediate_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern425 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[1], i2)
      || !register_operand (operands[2], i1)
      || !nonimmediate_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern426 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[1], i1)
      || !vector_move_operand (operands[2], i1)
      || !register_operand (operands[3], i2))
    return -1;
  return 0;
}

static int
pattern427 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!memory_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[1], i1)
      || !register_operand (operands[2], i2))
    return -1;
  return 0;
}

static int
pattern428 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !nonimmediate_operand (operands[1], i1)
      || !vector_move_operand (operands[2], i1)
      || !register_operand (operands[3], i2))
    return -1;
  return 0;
}

static int
pattern429 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !vector_operand (operands[1], i1)
      || !vector_operand (operands[2], i1)
      || !vector_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern430 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !vector_operand (operands[1], i1)
      || !vector_operand (operands[2], i1))
    return -1;
  x2 = XEXP (x1, 2);
  if (GET_MODE (x2) != i1
      || !vector_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern431 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !vector_operand (operands[1], i1)
      || !vector_operand (operands[2], i1)
      || !vector_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern432 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !vector_operand (operands[1], i1)
      || !vector_operand (operands[2], i1))
    return -1;
  x3 = XEXP (x1, 2);
  if (GET_MODE (x3) != i1
      || !vector_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern433 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 2);
  if (GET_CODE (x2) != CONST_INT)
    return -1;
  x3 = XVECEXP (x1, 0, 3);
  if (GET_CODE (x3) != CONST_INT)
    return -1;
  x4 = XVECEXP (x1, 0, 4);
  if (GET_CODE (x4) != CONST_INT)
    return -1;
  x5 = XVECEXP (x1, 0, 5);
  if (GET_CODE (x5) != CONST_INT)
    return -1;
  x6 = XVECEXP (x1, 0, 6);
  if (GET_CODE (x6) != CONST_INT)
    return -1;
  x7 = XVECEXP (x1, 0, 7);
  if (GET_CODE (x7) != CONST_INT)
    return -1;
  x8 = XVECEXP (x1, 0, 8);
  if (GET_CODE (x8) != CONST_INT)
    return -1;
  x9 = XVECEXP (x1, 0, 9);
  if (GET_CODE (x9) != CONST_INT)
    return -1;
  x10 = XVECEXP (x1, 0, 10);
  if (GET_CODE (x10) != CONST_INT)
    return -1;
  x11 = XVECEXP (x1, 0, 11);
  if (GET_CODE (x11) != CONST_INT)
    return -1;
  x12 = XVECEXP (x1, 0, 12);
  if (GET_CODE (x12) != CONST_INT)
    return -1;
  x13 = XVECEXP (x1, 0, 13);
  if (GET_CODE (x13) != CONST_INT)
    return -1;
  x14 = XVECEXP (x1, 0, 14);
  if (GET_CODE (x14) != CONST_INT)
    return -1;
  x15 = XVECEXP (x1, 0, 15);
  if (GET_CODE (x15) != CONST_INT)
    return -1;
  return 0;
}

static int
pattern434 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 2);
  if (GET_CODE (x2) != CONST_INT)
    return -1;
  x3 = XVECEXP (x1, 0, 3);
  if (GET_CODE (x3) != CONST_INT)
    return -1;
  x4 = XVECEXP (x1, 0, 4);
  if (GET_CODE (x4) != CONST_INT)
    return -1;
  x5 = XVECEXP (x1, 0, 5);
  if (GET_CODE (x5) != CONST_INT)
    return -1;
  x6 = XVECEXP (x1, 0, 6);
  if (GET_CODE (x6) != CONST_INT)
    return -1;
  x7 = XVECEXP (x1, 0, 7);
  if (GET_CODE (x7) != CONST_INT)
    return -1;
  return 0;
}

static int
pattern435 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2
      || !nonimmediate_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern436 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[1], i1)
      || !float_operator (operands[3], i1))
    return -1;
  switch (GET_MODE (operands[2]))
    {
    case HImode:
      if (!memory_operand (operands[2], HImode))
        return -1;
      return 0;

    case SImode:
      if (!memory_operand (operands[2], SImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern437 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 1);
  operands[3] = x4;
  x5 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x5) != CLOBBER)
    return -1;
  x6 = XEXP (x2, 0);
  if (GET_MODE (x6) != CCFPmode
      || GET_MODE (x3) != CCFPmode)
    return -1;
  x7 = XEXP (x4, 0);
  operands[2] = x7;
  x8 = XEXP (x5, 0);
  operands[0] = x8;
  if (!register_operand (operands[0], HImode))
    return -1;
  switch (GET_MODE (operands[1]))
    {
    case SFmode:
      return pattern436 (SFmode); /* [-1, 1] */

    case DFmode:
      res = pattern436 (DFmode);
      if (res >= 0)
        return res + 2; /* [2, 3] */
      return -1;

    case XFmode:
      res = pattern436 (XFmode);
      if (res >= 0)
        return res + 4; /* [4, 5] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern438 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XEXP (x2, 0);
  operands[0] = x3;
  x4 = XVECEXP (x1, 0, 0);
  x5 = XEXP (x4, 1);
  x6 = XEXP (x5, 0);
  switch (GET_MODE (x6))
    {
    case QImode:
      if (!nonimmediate_operand (operands[1], QImode)
          || !general_operand (operands[2], QImode)
          || !scratch_operand (operands[0], QImode))
        return -1;
      return 0;

    case HImode:
      if (!nonimmediate_operand (operands[1], HImode)
          || !general_operand (operands[2], HImode)
          || !scratch_operand (operands[0], HImode))
        return -1;
      return 1;

    case SImode:
      if (!nonimmediate_operand (operands[1], SImode)
          || !x86_64_general_operand (operands[2], SImode)
          || !scratch_operand (operands[0], SImode))
        return -1;
      return 2;

    case DImode:
      if (!nonimmediate_operand (operands[1], DImode)
          || !x86_64_general_operand (operands[2], DImode)
          || !scratch_operand (operands[0], DImode))
        return -1;
      return 3;

    default:
      return -1;
    }
}

static int
pattern439 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  operands[1] = x5;
  x6 = XEXP (x4, 1);
  operands[2] = x6;
  return pattern438 (x1); /* [-1, 3] */
}

static int
pattern440 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  if (XINT (x1, 1) != 0
      || GET_MODE (x1) != QImode)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) != ZERO_EXTRACT
      || GET_MODE (x2) != SImode)
    return -1;
  x3 = XEXP (x2, 1);
  if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    return -1;
  x4 = XEXP (x2, 2);
  if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    return -1;
  return 0;
}

static int
pattern441 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!memory_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !memory_operand (operands[1], i1)
      || !scratch_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern442 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  operands[0] = x3;
  x4 = XEXP (x2, 1);
  x5 = XVECEXP (x4, 0, 0);
  operands[1] = x5;
  x6 = XVECEXP (x1, 0, 1);
  x7 = XEXP (x6, 0);
  operands[2] = x7;
  switch (GET_MODE (operands[0]))
    {
    case SImode:
      return pattern441 (x4, SImode); /* [-1, 0] */

    case DImode:
      if (pattern441 (x4, DImode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern443 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!memory_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !const_int_operand (operands[1], i1)
      || !scratch_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern444 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  operands[0] = x3;
  x4 = XEXP (x2, 1);
  x5 = XVECEXP (x4, 0, 0);
  operands[1] = x5;
  x6 = XVECEXP (x1, 0, 1);
  x7 = XEXP (x6, 0);
  operands[2] = x7;
  switch (GET_MODE (operands[0]))
    {
    case SImode:
      return pattern443 (x4, SImode); /* [-1, 0] */

    case DImode:
      if (pattern443 (x4, DImode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern445 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  operands[0] = x3;
  if (!nonimmediate_operand (operands[0], QImode))
    return -1;
  x4 = XEXP (x1, 1);
  if (GET_MODE (x4) != QImode)
    return -1;
  x5 = XEXP (x4, 1);
  operands[1] = x5;
  if (!nonmemory_operand (operands[1], QImode))
    return -1;
  x6 = XEXP (x4, 0);
  if (!rtx_equal_p (x6, operands[0]))
    return -1;
  return 0;
}

static int
pattern446 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  if (XINT (x3, 1) != 0
      || GET_MODE (x3) != QImode)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != AND
      || GET_MODE (x4) != SImode)
    return -1;
  x5 = XEXP (x1, 0);
  operands[0] = x5;
  x6 = XEXP (x2, 0);
  operands[1] = x6;
  return pattern137 (x2); /* [-1, 1] */
}

static int
pattern447 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  switch (GET_CODE (x2))
    {
    case REG:
    case SUBREG:
    case MEM:
      operands[0] = x2;
      x3 = XEXP (x1, 1);
      x4 = XEXP (x3, 0);
      operands[1] = x4;
      x5 = XEXP (x3, 1);
      operands[2] = x5;
      switch (GET_MODE (operands[0]))
        {
        case SImode:
          if (!nonimmediate_operand (operands[0], SImode)
              || GET_MODE (x3) != SImode
              || !nonimmediate_operand (operands[1], SImode))
            return -1;
          return 0;

        case DImode:
          if (!nonimmediate_operand (operands[0], DImode)
              || GET_MODE (x3) != DImode
              || !nonimmediate_operand (operands[1], DImode))
            return -1;
          return 1;

        case QImode:
          if (!nonimmediate_operand (operands[0], QImode)
              || GET_MODE (x3) != QImode
              || !nonimmediate_operand (operands[1], QImode))
            return -1;
          return 2;

        case HImode:
          if (!nonimmediate_operand (operands[0], HImode)
              || GET_MODE (x3) != HImode
              || !nonimmediate_operand (operands[1], HImode))
            return -1;
          return 3;

        default:
          return -1;
        }

    case STRICT_LOW_PART:
      x6 = XEXP (x2, 0);
      operands[0] = x6;
      if (!nonimmediate_operand (operands[0], QImode))
        return -1;
      x3 = XEXP (x1, 1);
      if (GET_MODE (x3) != QImode)
        return -1;
      x5 = XEXP (x3, 1);
      operands[1] = x5;
      x4 = XEXP (x3, 0);
      if (!rtx_equal_p (x4, operands[0]))
        return -1;
      return 4;

    default:
      return -1;
    }
}

static int
pattern448 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i1)
      || !register_operand (operands[2], i1)
      || !vector_move_operand (operands[3], i1)
      || !register_operand (operands[4], i2))
    return -1;
  return 0;
}

static int
pattern449 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i1)
      || !vector_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern450 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 2);
  if (XWINT (x4, 0) != 1LL)
    return -1;
  x5 = XVECEXP (x1, 0, 1);
  x6 = XVECEXP (x5, 0, 0);
  operands[3] = x6;
  x7 = XEXP (x3, 1);
  if (!rtx_equal_p (x7, operands[1]))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case V4SFmode:
      return pattern449 (x3, V4SFmode); /* [-1, 0] */

    case V2DFmode:
      if (pattern449 (x3, V2DFmode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern451 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 2);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
      operands[4] = x4;
      x5 = XEXP (x3, 1);
      operands[3] = x5;
      x6 = XVECEXP (x1, 0, 1);
      x7 = XVECEXP (x6, 0, 0);
      operands[5] = x7;
      switch (GET_MODE (operands[0]))
        {
        case V16SFmode:
          return pattern448 (x3, V16SFmode, HImode); /* [-1, 0] */

        case V8SFmode:
          if (pattern448 (x3, V8SFmode, QImode) != 0)
            return -1;
          return 1;

        case V4SFmode:
          if (pattern448 (x3, V4SFmode, QImode) != 0)
            return -1;
          return 2;

        case V8DFmode:
          if (pattern448 (x3, V8DFmode, QImode) != 0)
            return -1;
          return 3;

        case V4DFmode:
          if (pattern448 (x3, V4DFmode, QImode) != 0)
            return -1;
          return 4;

        case V2DFmode:
          if (pattern448 (x3, V2DFmode, QImode) != 0)
            return -1;
          return 5;

        default:
          return -1;
        }

    case CONST_INT:
      res = pattern450 (x1);
      if (res >= 0)
        return res + 6; /* [6, 7] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern452 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  operands[1] = x5;
  x6 = XEXP (x4, 1);
  operands[2] = x6;
  x7 = XVECEXP (x1, 0, 1);
  x8 = XVECEXP (x7, 0, 0);
  if (!const_4_or_8_to_11_operand (x8, SImode))
    return -1;
  return pattern451 (x1); /* [-1, 7] */
}

static int
pattern453 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  operands[1] = x5;
  x6 = XEXP (x4, 1);
  operands[2] = x6;
  x7 = XVECEXP (x1, 0, 1);
  x8 = XVECEXP (x7, 0, 0);
  if (!const48_operand (x8, SImode))
    return -1;
  return pattern451 (x1); /* [-1, 7] */
}

static int
pattern454 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2
      || !register_operand (operands[1], i3)
      || !vector_move_operand (operands[2], i2)
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern455 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  operands[1] = x5;
  x6 = XEXP (x3, 1);
  operands[2] = x6;
  x7 = XEXP (x3, 2);
  operands[3] = x7;
  x8 = XVECEXP (x1, 0, 1);
  x9 = XVECEXP (x8, 0, 0);
  operands[4] = x9;
  if (!const48_operand (operands[4], SImode))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case V16SImode:
      return pattern454 (x3, HImode, V16SImode, V16SFmode); /* [-1, 0] */

    case V8SImode:
      if (pattern454 (x3, QImode, V8SImode, V8DFmode) != 0)
        return -1;
      return 1;

    case V8DImode:
      if (!register_operand (operands[0], V8DImode)
          || GET_MODE (x3) != V8DImode
          || GET_MODE (x4) != V8DImode
          || !vector_move_operand (operands[2], V8DImode)
          || !register_operand (operands[3], QImode))
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case V8DFmode:
          if (!register_operand (operands[1], V8DFmode))
            return -1;
          return 2;

        case V8SFmode:
          if (!register_operand (operands[1], V8SFmode))
            return -1;
          return 3;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern456 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  operands[0] = x3;
  if (!nonimmediate_operand (operands[0], DImode))
    return -1;
  x4 = XEXP (x2, 1);
  x5 = XVECEXP (x4, 0, 0);
  operands[1] = x5;
  if (!memory_operand (operands[1], DImode))
    return -1;
  x6 = XVECEXP (x1, 0, 1);
  x7 = XEXP (x6, 0);
  operands[2] = x7;
  if (!memory_operand (operands[2], DImode))
    return -1;
  x8 = XVECEXP (x1, 0, 2);
  x9 = XEXP (x8, 0);
  operands[3] = x9;
  if (!scratch_operand (operands[3], DFmode))
    return -1;
  return 0;
}

static int
pattern457 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  operands[0] = x3;
  if (!memory_operand (operands[0], DImode))
    return -1;
  x4 = XEXP (x2, 1);
  x5 = XVECEXP (x4, 0, 0);
  operands[1] = x5;
  if (!nonimmediate_operand (operands[1], DImode))
    return -1;
  x6 = XVECEXP (x1, 0, 1);
  x7 = XEXP (x6, 0);
  operands[2] = x7;
  if (!memory_operand (operands[2], DImode))
    return -1;
  x8 = XVECEXP (x1, 0, 2);
  x9 = XEXP (x8, 0);
  operands[3] = x9;
  if (!scratch_operand (operands[3], DFmode))
    return -1;
  return 0;
}

static int
pattern458 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 1);
  operands[2] = x4;
  x5 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x5) != CLOBBER)
    return -1;
  x6 = XEXP (x5, 0);
  operands[0] = x6;
  if (!register_operand (operands[0], HImode))
    return -1;
  x7 = XEXP (x2, 0);
  switch (GET_MODE (x7))
    {
    case CCFPmode:
      if (GET_MODE (x3) != CCFPmode)
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case XFmode:
          if (!register_operand (operands[1], XFmode)
              || !register_operand (operands[2], XFmode))
            return -1;
          return 0;

        case SFmode:
          if (!register_operand (operands[1], SFmode)
              || !nonimmediate_operand (operands[2], SFmode))
            return -1;
          return 1;

        case DFmode:
          if (!register_operand (operands[1], DFmode)
              || !nonimmediate_operand (operands[2], DFmode))
            return -1;
          return 2;

        default:
          return -1;
        }

    case CCFPUmode:
      if (GET_MODE (x3) != CCFPUmode)
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case SFmode:
          if (!register_operand (operands[1], SFmode)
              || !register_operand (operands[2], SFmode))
            return -1;
          return 3;

        case DFmode:
          if (!register_operand (operands[1], DFmode)
              || !register_operand (operands[2], DFmode))
            return -1;
          return 4;

        case XFmode:
          if (!register_operand (operands[1], XFmode)
              || !register_operand (operands[2], XFmode))
            return -1;
          return 5;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern459 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XEXP (x2, 0);
  operands[2] = x3;
  if (!memory_operand (operands[2], HImode))
    return -1;
  x4 = XVECEXP (x1, 0, 2);
  x5 = XEXP (x4, 0);
  operands[3] = x5;
  if (!memory_operand (operands[3], HImode))
    return -1;
  x6 = XVECEXP (x1, 0, 3);
  x7 = XEXP (x6, 0);
  operands[4] = x7;
  if (!memory_operand (operands[4], DImode))
    return -1;
  x8 = XVECEXP (x1, 0, 4);
  x9 = XEXP (x8, 0);
  operands[5] = x9;
  if (!scratch_operand (operands[5], i1))
    return -1;
  return 0;
}

static int
pattern460 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[0]))
    {
    case V2DImode:
      if (!nonimmediate_operand (operands[0], V2DImode)
          || GET_MODE (x1) != V2DImode
          || !nonimmediate_operand (operands[1], V4DImode))
        return -1;
      return 0;

    case V2DFmode:
      if (!nonimmediate_operand (operands[0], V2DFmode)
          || GET_MODE (x1) != V2DFmode
          || !nonimmediate_operand (operands[1], V4DFmode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern461 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !vector_operand (operands[1], i1)
      || !vector_operand (operands[2], i1)
      || !vector_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern462 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !vector_operand (operands[1], i1)
      || !vector_operand (operands[2], i1))
    return -1;
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) != i1
      || !vector_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern463 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern464 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  operands[4] = x2;
  switch (GET_MODE (operands[0]))
    {
    case HImode:
      return pattern463 (x1, HImode); /* [-1, 0] */

    case QImode:
      if (pattern463 (x1, QImode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern465 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern466 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!nonimmediate_operand (operands[0], SFmode)
      || GET_MODE (x1) != SFmode)
    return -1;
  switch (GET_MODE (operands[1]))
    {
    case V2SFmode:
      if (!nonimmediate_operand (operands[1], V2SFmode))
        return -1;
      return 0;

    case V4SFmode:
      if (!nonimmediate_operand (operands[1], V4SFmode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern467 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2
      || !register_operand (operands[1], i1)
      || !nonimmediate_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern468 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern469 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i2
      || !register_operand (operands[1], i1))
    return -1;
  x4 = XEXP (x1, 1);
  if (GET_MODE (x4) != i2
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern470 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!nonimmediate_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x1, 1);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern471 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8;
  int res ATTRIBUTE_UNUSED;
  if (!nonmemory_operand (operands[2], QImode))
    return -1;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  operands[1] = x3;
  x4 = XEXP (x1, 0);
  x5 = XEXP (x4, 0);
  if (!rtx_equal_p (x5, operands[0]))
    return -1;
  x6 = XEXP (x2, 1);
  x7 = XEXP (x6, 1);
  if (!rtx_equal_p (x7, operands[2]))
    return -1;
  x8 = XEXP (x6, 0);
  switch (XWINT (x8, 0))
    {
    case 64LL:
      return pattern470 (x1, DImode); /* [-1, 0] */

    case 32LL:
      if (pattern470 (x1, SImode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern472 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i1
      || !nonimmediate_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern473 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !vector_operand (operands[2], i1)
      || !register_operand (operands[1], i1)
      || !const_0_to_255_operand (operands[3], SImode))
    return -1;
  return 0;
}

static int
pattern474 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !vector_operand (operands[2], i1)
      || !register_operand (operands[1], i1)
      || !const_0_to_15_operand (operands[3], SImode))
    return -1;
  return 0;
}

static int
pattern475 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !nonimmediate_operand (operands[2], i1)
      || !register_operand (operands[1], i1)
      || !const_0_to_255_operand (operands[3], SImode))
    return -1;
  return 0;
}

static int
pattern476 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2
      || !register_operand (operands[1], i2))
    return -1;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != i2
      || !nonimmediate_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern477 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i1)
      || !vector_operand (operands[2], i1)
      || !vector_move_operand (operands[3], i1)
      || !register_operand (operands[4], i2))
    return -1;
  return 0;
}

static int
pattern478 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !nonimmediate_operand (operands[1], i1)
      || !const0_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern479 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !nonimmediate_operand (operands[1], i3)
      || !vector_move_operand (operands[2], i1)
      || !register_operand (operands[3], i2))
    return -1;
  return 0;
}

static int
pattern480 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !vector_operand (operands[1], i3)
      || !vector_move_operand (operands[2], i1)
      || !register_operand (operands[3], i2))
    return -1;
  return 0;
}

static int
pattern481 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !sse_comparison_operator (operands[3], i1)
      || !register_operand (operands[1], i1)
      || !vector_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern482 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[1], i1)
      || !vector_operand (operands[2], i1)
      || !vector_move_operand (operands[3], i1)
      || !register_operand (operands[4], QImode))
    return -1;
  return 0;
}

static int
pattern483 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[1], i1)
      || !nonimmediate_operand (operands[2], i1)
      || !vector_move_operand (operands[3], i1)
      || !register_operand (operands[4], i2))
    return -1;
  return 0;
}

static int
pattern484 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i2
      || !register_operand (operands[1], i1))
    return -1;
  switch (GET_MODE (operands[2]))
    {
    case SImode:
      if (!nonimmediate_operand (operands[2], SImode))
        return -1;
      return 0;

    case DImode:
      if (!nonimmediate_operand (operands[2], DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern485 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!nonimmediate_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !general_operand (operands[2], i2)
      || !vector_move_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern486 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 2);
  if (GET_CODE (x2) != CONST_INT)
    return -1;
  x3 = XVECEXP (x1, 0, 3);
  if (GET_CODE (x3) != CONST_INT)
    return -1;
  x4 = XVECEXP (x1, 0, 4);
  if (GET_CODE (x4) != CONST_INT)
    return -1;
  x5 = XVECEXP (x1, 0, 5);
  if (GET_CODE (x5) != CONST_INT)
    return -1;
  x6 = XVECEXP (x1, 0, 6);
  if (GET_CODE (x6) != CONST_INT)
    return -1;
  x7 = XVECEXP (x1, 0, 7);
  if (GET_CODE (x7) != CONST_INT)
    return -1;
  return 0;
}

static int
pattern487 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  if (!rtx_equal_p (x4, operands[2]))
    return -1;
  x5 = XEXP (x2, 1);
  x6 = XEXP (x5, 0);
  if (!rtx_equal_p (x6, operands[2]))
    return -1;
  x7 = XEXP (x1, 1);
  x8 = XEXP (x7, 0);
  x9 = XEXP (x8, 0);
  if (!rtx_equal_p (x9, operands[2]))
    return -1;
  x10 = XEXP (x7, 1);
  x11 = XEXP (x10, 0);
  if (!rtx_equal_p (x11, operands[2]))
    return -1;
  return 0;
}

static int
pattern488 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) != i1)
    return -1;
  x5 = XEXP (x2, 1);
  if (GET_MODE (x5) != i1)
    return -1;
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) != i1)
    return -1;
  x7 = XEXP (x5, 1);
  if (GET_MODE (x7) != i1)
    return -1;
  x8 = XEXP (x1, 1);
  if (GET_MODE (x8) != i2)
    return -1;
  x9 = XEXP (x8, 0);
  if (GET_MODE (x9) != i1)
    return -1;
  x10 = XEXP (x9, 0);
  if (GET_MODE (x10) != i1)
    return -1;
  x11 = XEXP (x9, 1);
  if (GET_MODE (x11) != i1)
    return -1;
  x12 = XEXP (x8, 1);
  if (GET_MODE (x12) != i1)
    return -1;
  x13 = XEXP (x12, 0);
  if (GET_MODE (x13) != i1)
    return -1;
  x14 = XEXP (x12, 1);
  if (GET_MODE (x14) != i1)
    return -1;
  return 0;
}

static int
pattern489 (rtx x1, rtx_code i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19, x20, x21, x22, x23, x24, x25;
  rtx x26, x27, x28, x29, x30, x31, x32, x33;
  rtx x34, x35, x36, x37, x38, x39, x40, x41;
  rtx x42, x43, x44, x45, x46, x47, x48, x49;
  rtx x50, x51, x52, x53, x54, x55, x56, x57;
  rtx x58, x59, x60, x61, x62, x63, x64, x65;
  rtx x66, x67, x68, x69, x70, x71, x72, x73;
  rtx x74, x75, x76, x77, x78, x79;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  if (GET_CODE (x5) != VEC_SELECT)
    return -1;
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) != PARALLEL
      || XVECLEN (x6, 0) != 1)
    return -1;
  x7 = XVECEXP (x6, 0, 0);
  if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x8 = XEXP (x4, 1);
  if (GET_CODE (x8) != VEC_SELECT)
    return -1;
  x9 = XEXP (x8, 1);
  if (GET_CODE (x9) != PARALLEL
      || XVECLEN (x9, 0) != 1)
    return -1;
  x10 = XVECEXP (x9, 0, 0);
  if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x11 = XEXP (x3, 1);
  if (GET_CODE (x11) != i1)
    return -1;
  x12 = XEXP (x11, 0);
  if (GET_CODE (x12) != VEC_SELECT)
    return -1;
  x13 = XEXP (x12, 1);
  if (GET_CODE (x13) != PARALLEL
      || XVECLEN (x13, 0) != 1)
    return -1;
  x14 = XVECEXP (x13, 0, 0);
  if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
    return -1;
  x15 = XEXP (x11, 1);
  if (GET_CODE (x15) != VEC_SELECT)
    return -1;
  x16 = XEXP (x15, 1);
  if (GET_CODE (x16) != PARALLEL
      || XVECLEN (x16, 0) != 1)
    return -1;
  x17 = XVECEXP (x16, 0, 0);
  if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
    return -1;
  x18 = XEXP (x2, 1);
  x19 = XEXP (x18, 0);
  if (GET_CODE (x19) != i1)
    return -1;
  x20 = XEXP (x19, 0);
  if (GET_CODE (x20) != VEC_SELECT)
    return -1;
  x21 = XEXP (x20, 1);
  if (GET_CODE (x21) != PARALLEL
      || XVECLEN (x21, 0) != 1)
    return -1;
  x22 = XVECEXP (x21, 0, 0);
  if (GET_CODE (x22) != CONST_INT)
    return -1;
  x23 = XEXP (x19, 1);
  if (GET_CODE (x23) != VEC_SELECT)
    return -1;
  x24 = XEXP (x23, 1);
  if (GET_CODE (x24) != PARALLEL
      || XVECLEN (x24, 0) != 1)
    return -1;
  x25 = XVECEXP (x24, 0, 0);
  if (GET_CODE (x25) != CONST_INT)
    return -1;
  x26 = XEXP (x18, 1);
  if (GET_CODE (x26) != i1)
    return -1;
  x27 = XEXP (x26, 0);
  if (GET_CODE (x27) != VEC_SELECT)
    return -1;
  x28 = XEXP (x27, 1);
  if (GET_CODE (x28) != PARALLEL
      || XVECLEN (x28, 0) != 1)
    return -1;
  x29 = XVECEXP (x28, 0, 0);
  if (GET_CODE (x29) != CONST_INT)
    return -1;
  x30 = XEXP (x26, 1);
  if (GET_CODE (x30) != VEC_SELECT)
    return -1;
  x31 = XEXP (x30, 1);
  if (GET_CODE (x31) != PARALLEL
      || XVECLEN (x31, 0) != 1)
    return -1;
  x32 = XVECEXP (x31, 0, 0);
  if (GET_CODE (x32) != CONST_INT)
    return -1;
  x33 = XEXP (x1, 1);
  x34 = XEXP (x33, 0);
  x35 = XEXP (x34, 0);
  if (GET_CODE (x35) != i1)
    return -1;
  x36 = XEXP (x35, 0);
  if (GET_CODE (x36) != VEC_SELECT)
    return -1;
  x37 = XEXP (x36, 1);
  if (GET_CODE (x37) != PARALLEL
      || XVECLEN (x37, 0) != 1)
    return -1;
  x38 = XVECEXP (x37, 0, 0);
  if (GET_CODE (x38) != CONST_INT)
    return -1;
  x39 = XEXP (x35, 1);
  if (GET_CODE (x39) != VEC_SELECT)
    return -1;
  x40 = XEXP (x39, 1);
  if (GET_CODE (x40) != PARALLEL
      || XVECLEN (x40, 0) != 1)
    return -1;
  x41 = XVECEXP (x40, 0, 0);
  if (GET_CODE (x41) != CONST_INT)
    return -1;
  x42 = XEXP (x34, 1);
  if (GET_CODE (x42) != i1)
    return -1;
  x43 = XEXP (x42, 0);
  if (GET_CODE (x43) != VEC_SELECT)
    return -1;
  x44 = XEXP (x43, 1);
  if (GET_CODE (x44) != PARALLEL
      || XVECLEN (x44, 0) != 1)
    return -1;
  x45 = XVECEXP (x44, 0, 0);
  if (GET_CODE (x45) != CONST_INT)
    return -1;
  x46 = XEXP (x42, 1);
  if (GET_CODE (x46) != VEC_SELECT)
    return -1;
  x47 = XEXP (x46, 1);
  if (GET_CODE (x47) != PARALLEL
      || XVECLEN (x47, 0) != 1)
    return -1;
  x48 = XVECEXP (x47, 0, 0);
  if (GET_CODE (x48) != CONST_INT)
    return -1;
  x49 = XEXP (x33, 1);
  x50 = XEXP (x49, 0);
  if (GET_CODE (x50) != i1)
    return -1;
  x51 = XEXP (x50, 0);
  if (GET_CODE (x51) != VEC_SELECT)
    return -1;
  x52 = XEXP (x51, 1);
  if (GET_CODE (x52) != PARALLEL
      || XVECLEN (x52, 0) != 1)
    return -1;
  x53 = XVECEXP (x52, 0, 0);
  if (x53 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
    return -1;
  x54 = XEXP (x50, 1);
  if (GET_CODE (x54) != VEC_SELECT)
    return -1;
  x55 = XEXP (x54, 1);
  if (GET_CODE (x55) != PARALLEL
      || XVECLEN (x55, 0) != 1)
    return -1;
  x56 = XVECEXP (x55, 0, 0);
  if (x56 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
    return -1;
  x57 = XEXP (x49, 1);
  if (GET_CODE (x57) != i1)
    return -1;
  x58 = XEXP (x57, 0);
  if (GET_CODE (x58) != VEC_SELECT)
    return -1;
  x59 = XEXP (x58, 1);
  if (GET_CODE (x59) != PARALLEL
      || XVECLEN (x59, 0) != 1)
    return -1;
  x60 = XVECEXP (x59, 0, 0);
  if (x60 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
    return -1;
  x61 = XEXP (x57, 1);
  if (GET_CODE (x61) != VEC_SELECT)
    return -1;
  x62 = XEXP (x61, 1);
  if (GET_CODE (x62) != PARALLEL
      || XVECLEN (x62, 0) != 1)
    return -1;
  x63 = XVECEXP (x62, 0, 0);
  if (x63 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
    return -1;
  x64 = XEXP (x5, 0);
  operands[1] = x64;
  x65 = XEXP (x8, 0);
  if (!rtx_equal_p (x65, operands[1]))
    return -1;
  x66 = XEXP (x12, 0);
  if (!rtx_equal_p (x66, operands[1]))
    return -1;
  x67 = XEXP (x15, 0);
  if (!rtx_equal_p (x67, operands[1]))
    return -1;
  switch (XWINT (x22, 0))
    {
    case 0LL:
      if (XWINT (x25, 0) != 1LL
          || XWINT (x29, 0) != 2LL
          || XWINT (x32, 0) != 3LL
          || XWINT (x38, 0) != 4LL
          || XWINT (x41, 0) != 5LL
          || XWINT (x45, 0) != 6LL
          || XWINT (x48, 0) != 7LL
          || !register_operand (operands[0], V8SFmode)
          || GET_MODE (x1) != V8SFmode
          || GET_MODE (x2) != V4SFmode
          || GET_MODE (x3) != V2SFmode
          || GET_MODE (x4) != SFmode
          || GET_MODE (x5) != SFmode
          || !register_operand (operands[1], V8SFmode)
          || GET_MODE (x8) != SFmode
          || GET_MODE (x11) != SFmode
          || GET_MODE (x12) != SFmode
          || GET_MODE (x15) != SFmode
          || GET_MODE (x18) != V2SFmode
          || GET_MODE (x19) != SFmode
          || GET_MODE (x20) != SFmode)
        return -1;
      x68 = XEXP (x20, 0);
      operands[2] = x68;
      if (!nonimmediate_operand (operands[2], V8SFmode)
          || GET_MODE (x23) != SFmode
          || GET_MODE (x26) != SFmode
          || GET_MODE (x27) != SFmode
          || GET_MODE (x30) != SFmode
          || GET_MODE (x33) != V4SFmode
          || GET_MODE (x34) != V2SFmode
          || GET_MODE (x35) != SFmode
          || GET_MODE (x36) != SFmode
          || GET_MODE (x39) != SFmode
          || GET_MODE (x42) != SFmode
          || GET_MODE (x43) != SFmode
          || GET_MODE (x46) != SFmode
          || GET_MODE (x49) != V2SFmode
          || GET_MODE (x50) != SFmode
          || GET_MODE (x51) != SFmode
          || GET_MODE (x54) != SFmode
          || GET_MODE (x57) != SFmode
          || GET_MODE (x58) != SFmode
          || GET_MODE (x61) != SFmode)
        return -1;
      x69 = XEXP (x23, 0);
      if (!rtx_equal_p (x69, operands[2]))
        return -1;
      x70 = XEXP (x27, 0);
      if (!rtx_equal_p (x70, operands[2]))
        return -1;
      x71 = XEXP (x30, 0);
      if (!rtx_equal_p (x71, operands[2]))
        return -1;
      x72 = XEXP (x36, 0);
      if (!rtx_equal_p (x72, operands[1]))
        return -1;
      x73 = XEXP (x39, 0);
      if (!rtx_equal_p (x73, operands[1]))
        return -1;
      x74 = XEXP (x43, 0);
      if (!rtx_equal_p (x74, operands[1]))
        return -1;
      x75 = XEXP (x46, 0);
      if (!rtx_equal_p (x75, operands[1])
          || pattern487 (x49) != 0)
        return -1;
      return 0;

    case 4LL:
      if (XWINT (x25, 0) != 5LL
          || XWINT (x29, 0) != 6LL
          || XWINT (x32, 0) != 7LL
          || XWINT (x38, 0) != 0LL
          || XWINT (x41, 0) != 1LL
          || XWINT (x45, 0) != 2LL
          || XWINT (x48, 0) != 3LL)
        return -1;
      x72 = XEXP (x36, 0);
      operands[2] = x72;
      x68 = XEXP (x20, 0);
      if (!rtx_equal_p (x68, operands[1]))
        return -1;
      x69 = XEXP (x23, 0);
      if (!rtx_equal_p (x69, operands[1]))
        return -1;
      x70 = XEXP (x27, 0);
      if (!rtx_equal_p (x70, operands[1]))
        return -1;
      x71 = XEXP (x30, 0);
      if (!rtx_equal_p (x71, operands[1]))
        return -1;
      x73 = XEXP (x39, 0);
      if (!rtx_equal_p (x73, operands[2]))
        return -1;
      x74 = XEXP (x43, 0);
      if (!rtx_equal_p (x74, operands[2]))
        return -1;
      x75 = XEXP (x46, 0);
      if (!rtx_equal_p (x75, operands[2]))
        return -1;
      x76 = XEXP (x51, 0);
      if (!rtx_equal_p (x76, operands[2]))
        return -1;
      x77 = XEXP (x54, 0);
      if (!rtx_equal_p (x77, operands[2]))
        return -1;
      x78 = XEXP (x58, 0);
      if (!rtx_equal_p (x78, operands[2]))
        return -1;
      x79 = XEXP (x61, 0);
      if (!rtx_equal_p (x79, operands[2]))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case V8HImode:
          if (!register_operand (operands[0], V8HImode)
              || GET_MODE (x1) != V8HImode
              || GET_MODE (x2) != V4HImode
              || GET_MODE (x3) != V2HImode
              || GET_MODE (x4) != HImode
              || GET_MODE (x5) != HImode
              || !register_operand (operands[1], V8HImode)
              || GET_MODE (x8) != HImode
              || GET_MODE (x11) != HImode
              || GET_MODE (x12) != HImode
              || GET_MODE (x15) != HImode
              || GET_MODE (x18) != V2HImode
              || GET_MODE (x19) != HImode
              || GET_MODE (x20) != HImode
              || GET_MODE (x23) != HImode
              || GET_MODE (x26) != HImode
              || GET_MODE (x27) != HImode
              || GET_MODE (x30) != HImode
              || GET_MODE (x33) != V4HImode
              || GET_MODE (x34) != V2HImode
              || GET_MODE (x35) != HImode
              || GET_MODE (x36) != HImode
              || !vector_operand (operands[2], V8HImode)
              || pattern488 (x33, HImode, V2HImode) != 0)
            return -1;
          return 1;

        case V8SImode:
          if (!register_operand (operands[0], V8SImode)
              || GET_MODE (x1) != V8SImode
              || GET_MODE (x2) != V4SImode
              || GET_MODE (x3) != V2SImode
              || GET_MODE (x4) != SImode
              || GET_MODE (x5) != SImode
              || !register_operand (operands[1], V8SImode)
              || GET_MODE (x8) != SImode
              || GET_MODE (x11) != SImode
              || GET_MODE (x12) != SImode
              || GET_MODE (x15) != SImode
              || GET_MODE (x18) != V2SImode
              || GET_MODE (x19) != SImode
              || GET_MODE (x20) != SImode
              || GET_MODE (x23) != SImode
              || GET_MODE (x26) != SImode
              || GET_MODE (x27) != SImode
              || GET_MODE (x30) != SImode
              || GET_MODE (x33) != V4SImode
              || GET_MODE (x34) != V2SImode
              || GET_MODE (x35) != SImode
              || GET_MODE (x36) != SImode
              || !nonimmediate_operand (operands[2], V8SImode)
              || pattern488 (x33, SImode, V2SImode) != 0)
            return -1;
          return 2;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern490 (rtx x1, rtx_code i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19, x20, x21, x22, x23, x24, x25;
  rtx x26, x27, x28, x29, x30, x31, x32, x33;
  rtx x34, x35, x36, x37, x38, x39, x40, x41;
  rtx x42, x43, x44, x45, x46, x47, x48, x49;
  rtx x50, x51, x52, x53, x54, x55, x56, x57;
  rtx x58, x59, x60, x61, x62, x63, x64, x65;
  rtx x66, x67, x68, x69, x70, x71, x72, x73;
  rtx x74, x75;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != HImode)
    return -1;
  x5 = XEXP (x4, 0);
  if (GET_CODE (x5) != VEC_SELECT
      || GET_MODE (x5) != HImode)
    return -1;
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) != PARALLEL
      || XVECLEN (x6, 0) != 1)
    return -1;
  x7 = XVECEXP (x6, 0, 0);
  if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x8 = XEXP (x4, 1);
  if (GET_CODE (x8) != VEC_SELECT
      || GET_MODE (x8) != HImode)
    return -1;
  x9 = XEXP (x8, 1);
  if (GET_CODE (x9) != PARALLEL
      || XVECLEN (x9, 0) != 1)
    return -1;
  x10 = XVECEXP (x9, 0, 0);
  if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x11 = XEXP (x3, 1);
  if (GET_CODE (x11) != i1
      || GET_MODE (x11) != HImode)
    return -1;
  x12 = XEXP (x11, 0);
  if (GET_CODE (x12) != VEC_SELECT
      || GET_MODE (x12) != HImode)
    return -1;
  x13 = XEXP (x12, 1);
  if (GET_CODE (x13) != PARALLEL
      || XVECLEN (x13, 0) != 1)
    return -1;
  x14 = XVECEXP (x13, 0, 0);
  if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
    return -1;
  x15 = XEXP (x11, 1);
  if (GET_CODE (x15) != VEC_SELECT
      || GET_MODE (x15) != HImode)
    return -1;
  x16 = XEXP (x15, 1);
  if (GET_CODE (x16) != PARALLEL
      || XVECLEN (x16, 0) != 1)
    return -1;
  x17 = XVECEXP (x16, 0, 0);
  if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
    return -1;
  x18 = XEXP (x2, 1);
  x19 = XEXP (x18, 0);
  if (GET_CODE (x19) != i1
      || GET_MODE (x19) != HImode)
    return -1;
  x20 = XEXP (x19, 0);
  if (GET_CODE (x20) != VEC_SELECT
      || GET_MODE (x20) != HImode)
    return -1;
  x21 = XEXP (x20, 1);
  if (GET_CODE (x21) != PARALLEL
      || XVECLEN (x21, 0) != 1)
    return -1;
  x22 = XVECEXP (x21, 0, 0);
  if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
    return -1;
  x23 = XEXP (x19, 1);
  if (GET_CODE (x23) != VEC_SELECT
      || GET_MODE (x23) != HImode)
    return -1;
  x24 = XEXP (x23, 1);
  if (GET_CODE (x24) != PARALLEL
      || XVECLEN (x24, 0) != 1)
    return -1;
  x25 = XVECEXP (x24, 0, 0);
  if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
    return -1;
  x26 = XEXP (x18, 1);
  if (GET_CODE (x26) != i1
      || GET_MODE (x26) != HImode)
    return -1;
  x27 = XEXP (x26, 0);
  if (GET_CODE (x27) != VEC_SELECT
      || GET_MODE (x27) != HImode)
    return -1;
  x28 = XEXP (x27, 1);
  if (GET_CODE (x28) != PARALLEL
      || XVECLEN (x28, 0) != 1)
    return -1;
  x29 = XVECEXP (x28, 0, 0);
  if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
    return -1;
  x30 = XEXP (x26, 1);
  if (GET_CODE (x30) != VEC_SELECT
      || GET_MODE (x30) != HImode)
    return -1;
  x31 = XEXP (x30, 1);
  if (GET_CODE (x31) != PARALLEL
      || XVECLEN (x31, 0) != 1)
    return -1;
  x32 = XVECEXP (x31, 0, 0);
  if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
    return -1;
  x33 = XEXP (x1, 1);
  x34 = XEXP (x33, 0);
  x35 = XEXP (x34, 0);
  if (GET_CODE (x35) != i1
      || GET_MODE (x35) != HImode)
    return -1;
  x36 = XEXP (x35, 0);
  if (GET_CODE (x36) != VEC_SELECT
      || GET_MODE (x36) != HImode)
    return -1;
  x37 = XEXP (x36, 1);
  if (GET_CODE (x37) != PARALLEL
      || XVECLEN (x37, 0) != 1)
    return -1;
  x38 = XVECEXP (x37, 0, 0);
  if (x38 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x39 = XEXP (x35, 1);
  if (GET_CODE (x39) != VEC_SELECT
      || GET_MODE (x39) != HImode)
    return -1;
  x40 = XEXP (x39, 1);
  if (GET_CODE (x40) != PARALLEL
      || XVECLEN (x40, 0) != 1)
    return -1;
  x41 = XVECEXP (x40, 0, 0);
  if (x41 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x42 = XEXP (x34, 1);
  if (GET_CODE (x42) != i1
      || GET_MODE (x42) != HImode)
    return -1;
  x43 = XEXP (x42, 0);
  if (GET_CODE (x43) != VEC_SELECT
      || GET_MODE (x43) != HImode)
    return -1;
  x44 = XEXP (x43, 1);
  if (GET_CODE (x44) != PARALLEL
      || XVECLEN (x44, 0) != 1)
    return -1;
  x45 = XVECEXP (x44, 0, 0);
  if (x45 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
    return -1;
  x46 = XEXP (x42, 1);
  if (GET_CODE (x46) != VEC_SELECT
      || GET_MODE (x46) != HImode)
    return -1;
  x47 = XEXP (x46, 1);
  if (GET_CODE (x47) != PARALLEL
      || XVECLEN (x47, 0) != 1)
    return -1;
  x48 = XVECEXP (x47, 0, 0);
  if (x48 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
    return -1;
  x49 = XEXP (x33, 1);
  x50 = XEXP (x49, 0);
  if (GET_CODE (x50) != i1
      || GET_MODE (x50) != HImode)
    return -1;
  x51 = XEXP (x50, 0);
  if (GET_CODE (x51) != VEC_SELECT
      || GET_MODE (x51) != HImode)
    return -1;
  x52 = XEXP (x51, 1);
  if (GET_CODE (x52) != PARALLEL
      || XVECLEN (x52, 0) != 1)
    return -1;
  x53 = XVECEXP (x52, 0, 0);
  if (x53 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
    return -1;
  x54 = XEXP (x50, 1);
  if (GET_CODE (x54) != VEC_SELECT
      || GET_MODE (x54) != HImode)
    return -1;
  x55 = XEXP (x54, 1);
  if (GET_CODE (x55) != PARALLEL
      || XVECLEN (x55, 0) != 1)
    return -1;
  x56 = XVECEXP (x55, 0, 0);
  if (x56 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
    return -1;
  x57 = XEXP (x49, 1);
  if (GET_CODE (x57) != i1
      || GET_MODE (x57) != HImode)
    return -1;
  x58 = XEXP (x57, 0);
  if (GET_CODE (x58) != VEC_SELECT
      || GET_MODE (x58) != HImode)
    return -1;
  x59 = XEXP (x58, 1);
  if (GET_CODE (x59) != PARALLEL
      || XVECLEN (x59, 0) != 1)
    return -1;
  x60 = XVECEXP (x59, 0, 0);
  if (x60 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
    return -1;
  x61 = XEXP (x57, 1);
  if (GET_CODE (x61) != VEC_SELECT
      || GET_MODE (x61) != HImode)
    return -1;
  x62 = XEXP (x61, 1);
  if (GET_CODE (x62) != PARALLEL
      || XVECLEN (x62, 0) != 1)
    return -1;
  x63 = XVECEXP (x62, 0, 0);
  if (x63 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
      || !register_operand (operands[0], V8HImode)
      || GET_MODE (x1) != V8HImode
      || GET_MODE (x2) != V4HImode
      || GET_MODE (x3) != V2HImode)
    return -1;
  x64 = XEXP (x5, 0);
  operands[1] = x64;
  if (!register_operand (operands[1], V8HImode)
      || GET_MODE (x18) != V2HImode
      || GET_MODE (x33) != V4HImode
      || GET_MODE (x34) != V2HImode)
    return -1;
  x65 = XEXP (x36, 0);
  operands[2] = x65;
  if (!vector_operand (operands[2], V8HImode)
      || GET_MODE (x49) != V2HImode)
    return -1;
  x66 = XEXP (x8, 0);
  if (!rtx_equal_p (x66, operands[1]))
    return -1;
  x67 = XEXP (x12, 0);
  if (!rtx_equal_p (x67, operands[1]))
    return -1;
  x68 = XEXP (x15, 0);
  if (!rtx_equal_p (x68, operands[1]))
    return -1;
  x69 = XEXP (x20, 0);
  if (!rtx_equal_p (x69, operands[1]))
    return -1;
  x70 = XEXP (x23, 0);
  if (!rtx_equal_p (x70, operands[1]))
    return -1;
  x71 = XEXP (x27, 0);
  if (!rtx_equal_p (x71, operands[1]))
    return -1;
  x72 = XEXP (x30, 0);
  if (!rtx_equal_p (x72, operands[1]))
    return -1;
  x73 = XEXP (x39, 0);
  if (!rtx_equal_p (x73, operands[2]))
    return -1;
  x74 = XEXP (x43, 0);
  if (!rtx_equal_p (x74, operands[2]))
    return -1;
  x75 = XEXP (x46, 0);
  if (!rtx_equal_p (x75, operands[2])
      || pattern487 (x49) != 0)
    return -1;
  return 0;
}

static int
pattern491 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !ix86_comparison_uns_operator (operands[1], i1)
      || !register_operand (operands[2], i1)
      || !nonimmediate_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern492 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !vector_operand (operands[1], i1)
      || !vector_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern493 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!nonimmediate_operand (operands[1], i1)
      || !general_operand (operands[2], i1)
      || !nonimmediate_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  return 0;
}

static int
pattern494 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!nonimmediate_operand (operands[1], i1)
      || !x86_64_general_operand (operands[2], i1)
      || !nonimmediate_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  return 0;
}

static int
pattern495 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  if (!rtx_equal_p (x4, operands[1]))
    return -1;
  x5 = XEXP (x3, 1);
  if (!rtx_equal_p (x5, operands[2]))
    return -1;
  x6 = XVECEXP (x1, 0, 0);
  x7 = XEXP (x6, 1);
  x8 = XEXP (x7, 0);
  switch (GET_MODE (x8))
    {
    case QImode:
      return pattern493 (x3, QImode); /* [-1, 0] */

    case HImode:
      if (pattern493 (x3, HImode) != 0)
        return -1;
      return 1;

    case SImode:
      if (pattern494 (x3, SImode) != 0)
        return -1;
      return 2;

    case DImode:
      if (pattern494 (x3, DImode) != 0)
        return -1;
      return 3;

    default:
      return -1;
    }
}

static int
pattern496 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != QImode)
    return -1;
  x3 = XEXP (x2, 0);
  if (!rtx_equal_p (x3, operands[0]))
    return -1;
  x4 = XEXP (x2, 1);
  if (!rtx_equal_p (x4, operands[1]))
    return -1;
  x5 = XEXP (x1, 0);
  x6 = XEXP (x5, 0);
  if (!rtx_equal_p (x6, operands[0]))
    return -1;
  return 0;
}

static int
pattern497 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
    case MEM:
      x5 = XEXP (x2, 0);
      switch (GET_CODE (x5))
        {
        case REG:
        case SUBREG:
        case MEM:
          operands[0] = x5;
          x6 = XVECEXP (x1, 0, 0);
          x7 = XEXP (x6, 1);
          x8 = XEXP (x7, 0);
          x9 = XEXP (x8, 0);
          operands[1] = x9;
          x10 = XEXP (x8, 1);
          operands[2] = x10;
          return pattern495 (x1); /* [-1, 3] */

        case STRICT_LOW_PART:
          x6 = XVECEXP (x1, 0, 0);
          x7 = XEXP (x6, 1);
          x8 = XEXP (x7, 0);
          if (GET_MODE (x8) != QImode)
            return -1;
          x9 = XEXP (x8, 0);
          operands[0] = x9;
          if (!nonimmediate_operand (operands[0], QImode))
            return -1;
          x10 = XEXP (x8, 1);
          operands[1] = x10;
          if (!general_operand (operands[1], QImode)
              || pattern496 (x2) != 0)
            return -1;
          return 4;

        default:
          return -1;
        }

    case ZERO_EXTEND:
      if (GET_MODE (x4) != DImode)
        return -1;
      x6 = XVECEXP (x1, 0, 0);
      x7 = XEXP (x6, 1);
      x8 = XEXP (x7, 0);
      if (GET_MODE (x8) != SImode)
        return -1;
      x9 = XEXP (x8, 0);
      operands[1] = x9;
      if (!nonimmediate_operand (operands[1], SImode))
        return -1;
      x10 = XEXP (x8, 1);
      operands[2] = x10;
      if (!x86_64_zext_immediate_operand (operands[2], SImode))
        return -1;
      x5 = XEXP (x2, 0);
      operands[0] = x5;
      if (!register_operand (operands[0], DImode)
          || GET_MODE (x3) != DImode)
        return -1;
      x11 = XEXP (x4, 0);
      if (!rtx_equal_p (x11, operands[1]))
        return -1;
      x12 = XEXP (x3, 1);
      if (!rtx_equal_p (x12, operands[2]))
        return -1;
      return 5;

    default:
      return -1;
    }
}

static int
pattern498 (rtx x1, rtx_code i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) != DImode)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != i1
      || GET_MODE (x4) != SImode)
    return -1;
  x5 = XVECEXP (x1, 0, 0);
  x6 = XEXP (x5, 1);
  x7 = XEXP (x6, 0);
  if (GET_MODE (x7) != SImode)
    return -1;
  x8 = XEXP (x7, 0);
  operands[1] = x8;
  if (!nonimmediate_operand (operands[1], SImode))
    return -1;
  x9 = XEXP (x7, 1);
  operands[2] = x9;
  if (!x86_64_general_operand (operands[2], SImode))
    return -1;
  x10 = XEXP (x2, 0);
  operands[0] = x10;
  if (!register_operand (operands[0], DImode))
    return -1;
  x11 = XEXP (x4, 0);
  if (!rtx_equal_p (x11, operands[1]))
    return -1;
  x12 = XEXP (x4, 1);
  if (!rtx_equal_p (x12, operands[2]))
    return -1;
  return 0;
}

static int
pattern499 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[1] = x2;
  switch (GET_MODE (operands[0]))
    {
    case SImode:
      if (!register_operand (operands[0], SImode)
          || GET_MODE (x1) != SImode)
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case QImode:
          if (!nonimmediate_operand (operands[1], QImode))
            return -1;
          return 0;

        case HImode:
          if (!nonimmediate_operand (operands[1], HImode))
            return -1;
          return 1;

        default:
          return -1;
        }

    case HImode:
      if (!register_operand (operands[0], HImode)
          || GET_MODE (x1) != HImode
          || !nonimmediate_operand (operands[1], QImode))
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern500 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != SImode
      || !register_operand (operands[0], DImode)
      || GET_MODE (x1) != DImode)
    return -1;
  x3 = XEXP (x2, 0);
  operands[1] = x3;
  if (!nonimmediate_operand (operands[1], SImode))
    return -1;
  x4 = XEXP (x2, 1);
  operands[2] = x4;
  if (!x86_64_general_operand (operands[2], SImode))
    return -1;
  return 0;
}

static int
pattern501 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != SImode
      || !register_operand (operands[0], DImode)
      || GET_MODE (x1) != DImode)
    return -1;
  x3 = XEXP (x2, 0);
  operands[1] = x3;
  if (!nonimmediate_operand (operands[1], SImode))
    return -1;
  x4 = XEXP (x2, 1);
  operands[2] = x4;
  if (!nonmemory_operand (operands[2], QImode))
    return -1;
  return 0;
}

static int
pattern502 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XVECEXP (x2, 0, 0);
  operands[2] = x3;
  if (!const48_operand (operands[2], SImode))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case V16SImode:
      if (!register_operand (operands[0], V16SImode))
        return -1;
      x4 = XVECEXP (x1, 0, 0);
      x5 = XEXP (x4, 1);
      if (GET_MODE (x5) != V16SImode
          || !register_operand (operands[1], V16SFmode))
        return -1;
      return 0;

    case V8SImode:
      if (!register_operand (operands[0], V8SImode))
        return -1;
      x4 = XVECEXP (x1, 0, 0);
      x5 = XEXP (x4, 1);
      if (GET_MODE (x5) != V8SImode
          || !register_operand (operands[1], V8DFmode))
        return -1;
      return 1;

    case V8DImode:
      if (!register_operand (operands[0], V8DImode))
        return -1;
      x4 = XVECEXP (x1, 0, 0);
      x5 = XEXP (x4, 1);
      if (GET_MODE (x5) != V8DImode)
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case V8DFmode:
          if (!register_operand (operands[1], V8DFmode))
            return -1;
          return 2;

        case V8SFmode:
          if (!register_operand (operands[1], V8SFmode))
            return -1;
          return 3;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern503 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || !absneg_operator (operands[3], i1)
      || !vector_operand (operands[1], i1)
      || !vector_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern504 (rtx x1, int i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (GET_CODE (x1) != UNSPEC
      || XVECLEN (x1, 0) != 1
      || XINT (x1, 1) != i1)
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  return 0;
}

static int
pattern505 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != SImode
      || !register_operand (operands[0], DImode)
      || GET_MODE (x1) != DImode)
    return -1;
  x3 = XEXP (x2, 0);
  operands[1] = x3;
  if (!nonimmediate_operand (operands[1], SImode))
    return -1;
  x4 = XEXP (x2, 1);
  operands[2] = x4;
  if (!register_operand (operands[2], QImode))
    return -1;
  return 0;
}

static int
pattern506 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != SImode
      || !register_operand (operands[0], DImode)
      || GET_MODE (x1) != DImode)
    return -1;
  x3 = XEXP (x2, 0);
  operands[1] = x3;
  if (!nonimmediate_operand (operands[1], SImode))
    return -1;
  x4 = XEXP (x2, 1);
  operands[2] = x4;
  if (!const_int_operand (operands[2], QImode))
    return -1;
  return 0;
}

static int
pattern507 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[1] = x2;
  x3 = XEXP (x1, 1);
  operands[2] = x3;
  switch (GET_MODE (operands[0]))
    {
    case DImode:
      if (GET_MODE (x1) != DImode)
        return -1;
      return 0;

    case HImode:
      if (GET_MODE (x1) != HImode
          || !const_int_operand (operands[2], HImode))
        return -1;
      return 1;

    case SImode:
      if (GET_MODE (x1) != SImode
          || !const_int_operand (operands[2], SImode))
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern508 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18;
  int res ATTRIBUTE_UNUSED;
  if (!memory_operand (operands[1], i1))
    return -1;
  x2 = PATTERN (peep2_next_insn (2));
  if (GET_CODE (x2) != SET)
    return -1;
  x3 = XEXP (x2, 0);
  if (!rtx_equal_p (x3, operands[1]))
    return -1;
  x4 = PATTERN (peep2_next_insn (3));
  if (GET_CODE (x4) != SET)
    return -1;
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) != COMPARE)
    return -1;
  x6 = XEXP (x5, 1);
  if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x7 = XEXP (x4, 0);
  if (GET_CODE (x7) != REG
      || REGNO (x7) != 17)
    return -1;
  switch (GET_CODE (x1))
    {
    case PARALLEL:
      if (XVECLEN (x1, 0) != 2)
        return -1;
      x8 = XVECEXP (x1, 0, 0);
      if (GET_CODE (x8) != SET)
        return -1;
      x9 = XEXP (x8, 1);
      switch (GET_CODE (x9))
        {
        case PLUS:
        case MINUS:
        case AND:
        case IOR:
        case XOR:
          operands[3] = x9;
          x10 = XVECEXP (x1, 0, 1);
          if (GET_CODE (x10) != CLOBBER)
            return -1;
          x11 = XEXP (x10, 0);
          if (GET_CODE (x11) != REG
              || REGNO (x11) != 17
              || GET_MODE (x11) != CCmode)
            return -1;
          x12 = XEXP (x9, 1);
          operands[2] = x12;
          return 0;

        default:
          return -1;
        }

    case SET:
      x13 = XEXP (x1, 1);
      if (GET_CODE (x13) != PLUS
          || GET_MODE (x13) != i1)
        return -1;
      x14 = XEXP (x1, 0);
      operands[3] = x14;
      if (!register_operand (operands[3], i1))
        return -1;
      x15 = XEXP (x13, 1);
      operands[2] = x15;
      if (!nonmemory_operand (operands[2], i1))
        return -1;
      x16 = XEXP (x13, 0);
      if (!rtx_equal_p (x16, operands[0]))
        return -1;
      x17 = XEXP (x2, 1);
      if (!rtx_equal_p (x17, operands[3]))
        return -1;
      x18 = XEXP (x5, 0);
      if (!rtx_equal_p (x18, operands[3]))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern509 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (peep2_current_count < 3
      || XVECLEN (x1, 0) != 1
      || XINT (x1, 1) != 0)
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  return 0;
}

static int
pattern510 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (GET_CODE (x2))
    {
    case REG:
    case SUBREG:
      if (!rtx_equal_p (x2, operands[0]))
        return -1;
      x3 = XEXP (x1, 0);
      if (GET_CODE (x3) != PC)
        return -1;
      return 0;

    case CALL:
      x4 = XEXP (x2, 0);
      if (GET_CODE (x4) != MEM
          || GET_MODE (x4) != QImode)
        return -1;
      x3 = XEXP (x1, 0);
      operands[2] = x3;
      x5 = XEXP (x2, 1);
      operands[3] = x5;
      x6 = XEXP (x4, 0);
      if (!rtx_equal_p (x6, operands[0]))
        return -1;
      return 1;

    case PLUS:
      if (peep2_current_count < 3
          || peep2_current_count < 4
          || GET_MODE (x2) != i1)
        return -1;
      x3 = XEXP (x1, 0);
      operands[3] = x3;
      if (!register_operand (operands[3], i1))
        return -1;
      x5 = XEXP (x2, 1);
      operands[2] = x5;
      if (!x86_64_nonmemory_operand (operands[2], i1))
        return -1;
      x4 = XEXP (x2, 0);
      if (!rtx_equal_p (x4, operands[0]))
        return -1;
      x7 = PATTERN (peep2_next_insn (2));
      if (GET_CODE (x7) != SET)
        return -1;
      x8 = XEXP (x7, 1);
      if (!rtx_equal_p (x8, operands[3]))
        return -1;
      x9 = XEXP (x7, 0);
      if (!rtx_equal_p (x9, operands[1]))
        return -1;
      x10 = PATTERN (peep2_next_insn (3));
      if (GET_CODE (x10) != SET)
        return -1;
      x11 = XEXP (x10, 1);
      if (GET_CODE (x11) != COMPARE)
        return -1;
      x12 = XEXP (x11, 1);
      if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x13 = XEXP (x10, 0);
      if (GET_CODE (x13) != REG
          || REGNO (x13) != 17)
        return -1;
      x14 = XEXP (x11, 0);
      if (!rtx_equal_p (x14, operands[3]))
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern511 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!memory_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  if (GET_MODE (x2) != i2
      || !register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern512 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2
      || !register_operand (operands[2], i2)
      || !register_operand (operands[3], i2)
      || !nonimmediate_operand (operands[4], i1)
      || !nonimmediate_operand (operands[5], i1))
    return -1;
  return 0;
}

static int
pattern513 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], QImode)
      || GET_MODE (x1) != QImode)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != QImode
      || !const_0_to_31_operand (operands[3], SImode))
    return -1;
  return 0;
}

static int
pattern514 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (GET_CODE (x1) != VEC_SELECT
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) != PARALLEL
      || XVECLEN (x2, 0) != 1)
    return -1;
  x3 = XVECEXP (x2, 0, 0);
  if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  return 0;
}

static int
pattern515 (rtx x1, int i1, int i2, int i3, int i4)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + i4])
    return -1;
  x3 = XVECEXP (x1, 0, 1);
  if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
    return -1;
  x4 = XVECEXP (x1, 0, 2);
  if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
    return -1;
  x5 = XVECEXP (x1, 0, 3);
  if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
    return -1;
  return 0;
}

static int
pattern516 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[0]))
    {
    case DImode:
      if (!register_operand (operands[0], DImode)
          || GET_MODE (x1) != DImode)
        return -1;
      x2 = XEXP (x1, 0);
      if (GET_MODE (x2) != DImode
          || !register_operand (operands[1], V64QImode)
          || !nonimmediate_operand (operands[2], V64QImode)
          || !register_operand (operands[4], DImode))
        return -1;
      return 0;

    case SImode:
      if (!register_operand (operands[0], SImode)
          || GET_MODE (x1) != SImode)
        return -1;
      x2 = XEXP (x1, 0);
      if (GET_MODE (x2) != SImode
          || !register_operand (operands[4], SImode))
        return -1;
      res = pattern403 ();
      if (res >= 0)
        return res + 1; /* [1, 2] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern517 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  switch (GET_MODE (x2))
    {
    case SFmode:
      if (!nonimmediate_operand (operands[1], V4SFmode))
        return -1;
      return 0;

    case DFmode:
      if (!nonimmediate_operand (operands[1], V2DFmode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern518 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  switch (GET_MODE (x2))
    {
    case SFmode:
      if (!vector_operand (operands[1], V4SFmode))
        return -1;
      return 0;

    case DFmode:
      if (!vector_operand (operands[1], V2DFmode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern519 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i1)
      || !vector_operand (operands[2], i1))
    return -1;
  x3 = XEXP (x1, 1);
  if (GET_MODE (x3) != i1)
    return -1;
  return 0;
}

static int
pattern520 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i1)
      || !nonimmediate_operand (operands[2], i1))
    return -1;
  x3 = XEXP (x1, 1);
  if (GET_MODE (x3) != i1)
    return -1;
  return 0;
}

static int
pattern521 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !vector_move_operand (operands[2], i1)
      || !register_operand (operands[3], QImode))
    return -1;
  switch (GET_MODE (operands[1]))
    {
    case V8SFmode:
      return 0;

    case V8DFmode:
      return 1;

    default:
      return -1;
    }
}

static int
pattern522 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !vector_move_operand (operands[2], i1)
      || !register_operand (operands[3], QImode))
    return -1;
  switch (GET_MODE (operands[1]))
    {
    case V4SFmode:
      return 0;

    case V4DFmode:
      return 1;

    default:
      return -1;
    }
}

static int
pattern523 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !vector_move_operand (operands[2], i1)
      || !register_operand (operands[3], QImode))
    return -1;
  switch (GET_MODE (operands[1]))
    {
    case V8SFmode:
      if (!nonimmediate_operand (operands[1], V8SFmode))
        return -1;
      return 0;

    case V8DFmode:
      if (!nonimmediate_operand (operands[1], V8DFmode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern524 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !vector_move_operand (operands[2], i1)
      || !register_operand (operands[3], QImode))
    return -1;
  switch (GET_MODE (operands[1]))
    {
    case V4SFmode:
      if (!nonimmediate_operand (operands[1], V4SFmode))
        return -1;
      return 0;

    case V4DFmode:
      if (!nonimmediate_operand (operands[1], V4DFmode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern525 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i2)
      || !nonimmediate_operand (operands[2], i2)
      || !vector_move_operand (operands[3], i1)
      || !register_operand (operands[4], i3))
    return -1;
  return 0;
}

static int
pattern526 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2
      || !nonimmediate_operand (operands[1], i2)
      || !register_operand (operands[2], i2)
      || !vector_move_operand (operands[3], i2)
      || !register_operand (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern527 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !nonimmediate_operand (operands[1], i1)
      || !register_operand (operands[2], i2)
      || !vector_move_operand (operands[3], i1)
      || !register_operand (operands[4], i3))
    return -1;
  return 0;
}

static int
pattern528 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i1)
      || !nonimmediate_operand (operands[2], i2)
      || !vector_move_operand (operands[3], i1)
      || !register_operand (operands[4], i3))
    return -1;
  return 0;
}

static int
pattern529 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i1)
      || !nonimmediate_operand (operands[2], i1)
      || !vector_move_operand (operands[3], i1)
      || !register_operand (operands[4], i2))
    return -1;
  return 0;
}

static int
pattern530 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i1)
      || !nonimmediate_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern531 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  if (!rtx_equal_p (x2, operands[1]))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case V4SFmode:
      return pattern530 (x1, V4SFmode); /* [-1, 0] */

    case V2DFmode:
      if (pattern530 (x1, V2DFmode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern532 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !nonimmediate_operand (operands[2], i2)
      || !register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern533 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2)
    return -1;
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  if (!nonimmediate_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern534 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x3 = XVECEXP (x1, 0, 1);
  if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x4 = XVECEXP (x1, 0, 2);
  if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
    return -1;
  x5 = XVECEXP (x1, 0, 3);
  if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
    return -1;
  return 0;
}

static int
pattern535 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i2
      || !register_operand (operands[1], i1))
    return -1;
  x4 = XEXP (x3, 1);
  operands[2] = x4;
  if (!nonimmediate_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern536 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i3)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != i3)
    return -1;
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != i3
      || !vector_operand (operands[1], i2))
    return -1;
  x6 = XEXP (x4, 1);
  if (GET_MODE (x6) != i3
      || !vector_operand (operands[2], i2)
      || !vector_move_operand (operands[3], i2)
      || !register_operand (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern537 (rtx x1, rtx_code i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) != i1)
    return -1;
  x6 = XEXP (x4, 0);
  x7 = XEXP (x6, 0);
  operands[1] = x7;
  x8 = XEXP (x5, 0);
  operands[2] = x8;
  switch (GET_MODE (operands[0]))
    {
    case V32HImode:
      return pattern536 (x1, SImode, V32HImode, V32SImode); /* [-1, 0] */

    case V16HImode:
      if (pattern536 (x1, HImode, V16HImode, V16SImode) != 0)
        return -1;
      return 1;

    case V8HImode:
      if (pattern536 (x1, QImode, V8HImode, V8SImode) != 0)
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern538 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!nonimmediate_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2
      || !nonimmediate_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern539 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i2)
      || !nonimmediate_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern540 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2
      || !register_operand (operands[1], i2)
      || !register_operand (operands[2], i2)
      || !nonimmediate_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern541 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2
      || !register_operand (operands[1], i2)
      || !nonimmediate_operand (operands[2], i2)
      || !nonimmediate_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern542 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2
      || !register_operand (operands[1], i1))
    return -1;
  x3 = XEXP (x2, 1);
  operands[2] = x3;
  if (!vector_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern543 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[1], i1)
      || !palignr_operand (operands[2], VOIDmode))
    return -1;
  return 0;
}

static int
pattern544 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !nonimmediate_operand (operands[2], i1))
    return -1;
  x3 = XEXP (x1, 1);
  if (GET_MODE (x3) != i1
      || !nonimmediate_operand (operands[1], i1))
    return -1;
  x4 = XEXP (x1, 2);
  if (GET_MODE (x4) != i1)
    return -1;
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) != i1)
    return -1;
  return 0;
}

static int
pattern545 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 2);
  x3 = XEXP (x2, 0);
  if (!rtx_equal_p (x3, operands[1]))
    return -1;
  x4 = XEXP (x2, 1);
  x5 = XEXP (x4, 0);
  if (!rtx_equal_p (x5, operands[2]))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case V16QImode:
      return pattern544 (x1, V16QImode); /* [-1, 0] */

    case V8HImode:
      if (pattern544 (x1, V8HImode) != 0)
        return -1;
      return 1;

    case V4SImode:
      if (pattern544 (x1, V4SImode) != 0)
        return -1;
      return 2;

    case V2DImode:
      if (pattern544 (x1, V2DImode) != 0)
        return -1;
      return 3;

    default:
      return -1;
    }
}

static int
pattern546 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XVECEXP (x2, 0, 0);
  operands[3] = x3;
  if (!const_4_or_8_to_11_operand (operands[3], SImode))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case V16SFmode:
      x4 = XVECEXP (x1, 0, 0);
      x5 = XEXP (x4, 1);
      return pattern123 (x5, V16SFmode); /* [-1, 0] */

    case V8SFmode:
      x4 = XVECEXP (x1, 0, 0);
      x5 = XEXP (x4, 1);
      if (pattern123 (x5, V8SFmode) != 0)
        return -1;
      return 1;

    case V4SFmode:
      x4 = XVECEXP (x1, 0, 0);
      x5 = XEXP (x4, 1);
      if (pattern123 (x5, V4SFmode) != 0)
        return -1;
      return 2;

    case V8DFmode:
      x4 = XVECEXP (x1, 0, 0);
      x5 = XEXP (x4, 1);
      if (pattern123 (x5, V8DFmode) != 0)
        return -1;
      return 3;

    case V4DFmode:
      x4 = XVECEXP (x1, 0, 0);
      x5 = XEXP (x4, 1);
      if (pattern123 (x5, V4DFmode) != 0)
        return -1;
      return 4;

    case V2DFmode:
      x4 = XVECEXP (x1, 0, 0);
      x5 = XEXP (x4, 1);
      if (pattern123 (x5, V2DFmode) != 0)
        return -1;
      return 5;

    default:
      return -1;
    }
}

static int
pattern547 (machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || !absneg_operator (operands[3], i2)
      || !register_operand (operands[1], i2)
      || !nonimmediate_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern548 ()
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], TFmode)
      || !absneg_operator (operands[3], TFmode)
      || !register_operand (operands[1], TFmode)
      || !nonimmediate_operand (operands[2], TFmode))
    return -1;
  return 0;
}

static int
pattern549 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != CLOBBER)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != REG
      || REGNO (x3) != 17
      || GET_MODE (x3) != CCmode
      || !register_operand (operands[0], i1))
    return -1;
  x4 = XVECEXP (x1, 0, 0);
  x5 = XEXP (x4, 1);
  x6 = XVECEXP (x5, 0, 0);
  operands[1] = x6;
  if (!tls_symbolic_operand (operands[1], VOIDmode))
    return -1;
  return 0;
}

static int
pattern550 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[5], i1)
      || !immediate_operand (operands[3], i1)
      || !register_operand (operands[4], i1)
      || !register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern551 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XVECEXP (x3, 0, 0);
  x5 = XEXP (x4, 0);
  operands[5] = x5;
  x6 = XVECEXP (x3, 0, 1);
  operands[2] = x6;
  if (!register_operand (operands[2], QImode))
    return -1;
  x7 = XVECEXP (x3, 0, 2);
  operands[3] = x7;
  x8 = XVECEXP (x3, 0, 3);
  operands[4] = x8;
  x9 = XVECEXP (x1, 0, 1);
  x10 = XEXP (x9, 0);
  operands[1] = x10;
  switch (GET_MODE (operands[0]))
    {
    case SImode:
      return pattern550 (x3, SImode); /* [-1, 0] */

    case DImode:
      if (pattern550 (x3, DImode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern552 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  if (XINT (x2, 1) != 0
      || GET_MODE (x2) != QImode)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != AND
      || GET_MODE (x3) != SImode)
    return -1;
  return pattern137 (x1); /* [-1, 1] */
}

static int
pattern553 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[0]))
    {
    case QImode:
      if (!register_operand (operands[0], QImode)
          || GET_MODE (x1) != QImode
          || !register_operand (operands[1], QImode))
        return -1;
      return 0;

    case HImode:
      if (!register_operand (operands[0], HImode)
          || GET_MODE (x1) != HImode
          || !register_operand (operands[1], HImode))
        return -1;
      return 1;

    case SImode:
      if (!register_operand (operands[0], SImode)
          || GET_MODE (x1) != SImode
          || !register_operand (operands[1], SImode))
        return -1;
      return 2;

    case DImode:
      if (!register_operand (operands[0], DImode)
          || GET_MODE (x1) != DImode
          || !register_operand (operands[1], DImode))
        return -1;
      return 3;

    default:
      return -1;
    }
}

static int
pattern554 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XVECEXP (x2, 0, 0);
  operands[0] = x3;
  x4 = XVECEXP (x2, 0, 1);
  operands[1] = x4;
  x5 = XVECEXP (x1, 0, 1);
  x6 = XEXP (x5, 0);
  operands[2] = x6;
  x7 = XEXP (x5, 1);
  x8 = XVECEXP (x7, 0, 0);
  if (!rtx_equal_p (x8, operands[2]))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case BND32mode:
      if (!register_operand (operands[0], BND32mode)
          || !address_no_seg_operand (operands[1], SImode))
        return -1;
      return 0;

    case BND64mode:
      if (!register_operand (operands[0], BND64mode)
          || !address_no_seg_operand (operands[1], DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern555 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != CLOBBER)
    return -1;
  x3 = XVECEXP (x1, 0, 2);
  if (GET_CODE (x3) != CLOBBER)
    return -1;
  x4 = XVECEXP (x1, 0, 3);
  x5 = XEXP (x4, 0);
  if (GET_CODE (x5) != REG
      || REGNO (x5) != 17
      || GET_MODE (x5) != CCmode)
    return -1;
  x6 = XVECEXP (x1, 0, 0);
  x7 = XEXP (x6, 0);
  operands[0] = x7;
  if (!register_operand (operands[0], SImode))
    return -1;
  x8 = XEXP (x6, 1);
  x9 = XVECEXP (x8, 0, 0);
  operands[1] = x9;
  if (!register_operand (operands[1], SImode))
    return -1;
  x10 = XVECEXP (x8, 0, 1);
  operands[2] = x10;
  return 0;
}

static int
pattern556 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!const_int_operand (operands[2], QImode))
    return -1;
  x2 = XEXP (x1, 0);
  operands[1] = x2;
  return pattern116 (x1); /* [-1, 1] */
}

static int
pattern557 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  operands[0] = x2;
  if (!nonmemory_no_elim_operand (operands[0], XFmode))
    return -1;
  x3 = XEXP (x1, 0);
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case SImode:
      x5 = XEXP (x4, 0);
      if (GET_MODE (x5) != SImode)
        return -1;
      x6 = XEXP (x4, 1);
      if (GET_MODE (x6) != SImode)
        return -1;
      x7 = XEXP (x6, 0);
      if (GET_MODE (x7) != SImode)
        return -1;
      return 0;

    case DImode:
      x5 = XEXP (x4, 0);
      if (GET_MODE (x5) != DImode)
        return -1;
      x6 = XEXP (x4, 1);
      if (GET_MODE (x6) != DImode)
        return -1;
      x7 = XEXP (x6, 0);
      if (GET_MODE (x7) != DImode)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern558 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], QImode)
      || GET_MODE (x1) != QImode
      || !ix86_comparison_operator (operands[1], VOIDmode)
      || !register_operand (operands[2], QImode)
      || !register_operand (operands[3], QImode))
    return -1;
  return 0;
}

static int
pattern559 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !ix86_comparison_operator (operands[1], VOIDmode)
      || !nonimmediate_operand (operands[2], i1)
      || !nonimmediate_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern560 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[0]))
    {
    case V4DFmode:
      if (!nonimmediate_operand (operands[0], V4DFmode)
          || GET_MODE (x1) != V4DFmode
          || !nonimmediate_operand (operands[1], V8DFmode))
        return -1;
      return 0;

    case V4DImode:
      if (!nonimmediate_operand (operands[0], V4DImode)
          || GET_MODE (x1) != V4DImode
          || !nonimmediate_operand (operands[1], V8DImode))
        return -1;
      return 1;

    case V4SImode:
      if (!nonimmediate_operand (operands[0], V4SImode)
          || GET_MODE (x1) != V4SImode
          || !nonimmediate_operand (operands[1], V8SImode))
        return -1;
      return 2;

    case V4SFmode:
      if (!nonimmediate_operand (operands[0], V4SFmode)
          || GET_MODE (x1) != V4SFmode
          || !nonimmediate_operand (operands[1], V8SFmode))
        return -1;
      return 3;

    default:
      return -1;
    }
}

static int
pattern561 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !nonimmediate_operand (operands[1], i1))
    return -1;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i1
      || !const_int_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern562 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!nonimmediate_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2
      || !register_operand (operands[1], i3)
      || !vector_move_operand (operands[3], i2)
      || !register_operand (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern563 (machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[2], i2)
      || !nonimmediate_operand (operands[3], i2)
      || !const0_operand (operands[4], i2)
      || !register_operand (operands[5], i1))
    return -1;
  return 0;
}

static int
pattern564 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2
      || !register_operand (operands[1], i2)
      || pattern563 (i1, i2) != 0)
    return -1;
  return 0;
}

static int
pattern565 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i1)
      || !register_operand (operands[2], i2)
      || !nonimmediate_operand (operands[3], i1)
      || !const0_operand (operands[4], i1)
      || !register_operand (operands[5], i3))
    return -1;
  return 0;
}

static int
pattern566 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2
      || !register_operand (operands[1], i2)
      || !register_operand (operands[2], i2)
      || !nonimmediate_operand (operands[3], i2)
      || !register_operand (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern567 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i1)
      || !register_operand (operands[2], i2)
      || !nonimmediate_operand (operands[3], i1)
      || !register_operand (operands[4], i3))
    return -1;
  return 0;
}

static int
pattern568 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3, machine_mode i4)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i4
      || !nonimmediate_operand (operands[1], i3)
      || !vector_move_operand (operands[2], i1)
      || !register_operand (operands[3], i2))
    return -1;
  return 0;
}

static int
pattern569 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i2
      || !nonimmediate_operand (operands[1], i1)
      || !vector_move_operand (operands[2], i1)
      || !register_operand (operands[3], i3))
    return -1;
  return 0;
}

static int
pattern570 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !nonimmediate_operand (operands[2], i2))
    return -1;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != i2
      || !register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern571 (rtx x1, int i1, int i2, int i3, int i4, int i5)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 3);
  if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + i5])
    return -1;
  x3 = XVECEXP (x1, 0, 4);
  if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i4])
    return -1;
  x4 = XVECEXP (x1, 0, 5);
  if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
    return -1;
  x5 = XVECEXP (x1, 0, 6);
  if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
    return -1;
  x6 = XVECEXP (x1, 0, 7);
  if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
    return -1;
  return 0;
}

static int
pattern572 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2
      || !nonimmediate_operand (operands[1], i1)
      || !nonimmediate_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern573 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2
      || !register_operand (operands[1], i1)
      || !vector_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern574 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[0]))
    {
    case V2DFmode:
      if (!nonimmediate_operand (operands[0], V2DFmode)
          || pattern572 (x1, V2DFmode, V4DFmode) != 0)
        return -1;
      return 0;

    case V2DImode:
      if (pattern573 (x1, V2DImode, V4DImode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern575 (rtx x1, rtx_code i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) != DImode)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != i1
      || GET_MODE (x4) != SImode)
    return -1;
  x5 = XVECEXP (x1, 0, 0);
  x6 = XEXP (x5, 1);
  x7 = XEXP (x6, 0);
  if (GET_MODE (x7) != SImode)
    return -1;
  return 0;
}

static int
pattern576 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  if (!rtx_equal_p (x4, operands[1]))
    return -1;
  x5 = XVECEXP (x1, 0, 0);
  x6 = XEXP (x5, 1);
  x7 = XEXP (x6, 0);
  switch (GET_MODE (x7))
    {
    case QImode:
      if (!nonimmediate_operand (operands[1], QImode)
          || !nonimmediate_operand (operands[0], QImode)
          || GET_MODE (x3) != QImode)
        return -1;
      return 0;

    case HImode:
      if (!nonimmediate_operand (operands[1], HImode)
          || !nonimmediate_operand (operands[0], HImode)
          || GET_MODE (x3) != HImode)
        return -1;
      return 1;

    case SImode:
      if (!nonimmediate_operand (operands[1], SImode)
          || !nonimmediate_operand (operands[0], SImode)
          || GET_MODE (x3) != SImode)
        return -1;
      return 2;

    case DImode:
      if (!nonimmediate_operand (operands[1], DImode)
          || !nonimmediate_operand (operands[0], DImode)
          || GET_MODE (x3) != DImode)
        return -1;
      return 3;

    default:
      return -1;
    }
}

static int
pattern577 (rtx x1, rtx_code i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) != DImode)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != i1
      || GET_MODE (x4) != SImode)
    return -1;
  x5 = XVECEXP (x1, 0, 0);
  x6 = XEXP (x5, 1);
  x7 = XEXP (x6, 0);
  if (GET_MODE (x7) != SImode
      || !register_operand (operands[1], SImode))
    return -1;
  return 0;
}

static int
pattern578 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[0]))
    {
    case HImode:
      if (!nonimmediate_operand (operands[0], HImode)
          || GET_MODE (x1) != HImode
          || !memory_operand (operands[2], HImode))
        return -1;
      return 0;

    case SImode:
      if (!nonimmediate_operand (operands[0], SImode)
          || GET_MODE (x1) != SImode
          || !memory_operand (operands[2], SImode))
        return -1;
      return 1;

    case DImode:
      if (!nonimmediate_operand (operands[0], DImode)
          || GET_MODE (x1) != DImode
          || !memory_operand (operands[2], DImode))
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern579 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (GET_MODE (x1) != SImode)
    return -1;
  x2 = XVECEXP (x1, 0, 3);
  if (GET_CODE (x2) != REG
      || REGNO (x2) != 7
      || GET_MODE (x2) != SImode)
    return -1;
  return 0;
}

static int
pattern580 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) != i2)
    return -1;
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != i1
      || !nonimmediate_operand (operands[0], i1))
    return -1;
  x6 = XVECEXP (x1, 0, 1);
  x7 = XEXP (x6, 1);
  if (GET_MODE (x7) != i1)
    return -1;
  return 0;
}

static int
pattern581 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != i2
      || !nonimmediate_operand (operands[1], i1))
    return -1;
  x6 = XEXP (x4, 1);
  if (GET_MODE (x6) != i2
      || !sext_operand (operands[2], i1)
      || pattern580 (x1, i1, i2) != 0)
    return -1;
  return 0;
}

static int
pattern582 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != i2
      || !nonimmediate_operand (operands[1], i1))
    return -1;
  x6 = XEXP (x4, 1);
  if (GET_MODE (x6) != i2
      || !x86_64_sext_operand (operands[2], i1)
      || pattern580 (x1, i1, i2) != 0)
    return -1;
  return 0;
}

static int
pattern583 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != i2
      || !nonimmediate_operand (operands[1], i1)
      || !const_int_operand (operands[3], i2))
    return -1;
  x6 = XEXP (x3, 1);
  if (GET_MODE (x6) != i2)
    return -1;
  x7 = XEXP (x6, 0);
  if (GET_MODE (x7) != i1
      || !x86_64_immediate_operand (operands[2], i1)
      || !nonimmediate_operand (operands[0], i1))
    return -1;
  x8 = XVECEXP (x1, 0, 1);
  x9 = XEXP (x8, 1);
  if (GET_MODE (x9) != i1)
    return -1;
  return 0;
}

static int
pattern584 (rtx x1, rtx_code i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  if (GET_CODE (x5) != SIGN_EXTEND)
    return -1;
  x6 = XEXP (x3, 1);
  if (GET_CODE (x6) != SIGN_EXTEND)
    return -1;
  x7 = XEXP (x6, 0);
  if (GET_CODE (x7) != i1)
    return -1;
  x8 = XVECEXP (x1, 0, 1);
  x9 = XEXP (x8, 1);
  if (GET_CODE (x9) != i1)
    return -1;
  x10 = XEXP (x5, 0);
  operands[1] = x10;
  x11 = XEXP (x7, 0);
  if (!rtx_equal_p (x11, operands[1]))
    return -1;
  x12 = XEXP (x9, 0);
  if (!rtx_equal_p (x12, operands[1]))
    return -1;
  x13 = XEXP (x4, 1);
  switch (GET_CODE (x13))
    {
    case SIGN_EXTEND:
      x14 = XEXP (x13, 0);
      operands[2] = x14;
      x15 = XEXP (x7, 1);
      if (!rtx_equal_p (x15, operands[2]))
        return -1;
      x16 = XEXP (x9, 1);
      if (!rtx_equal_p (x16, operands[2]))
        return -1;
      switch (GET_MODE (x4))
        {
        case HImode:
          return pattern581 (x1, QImode, HImode); /* [-1, 0] */

        case SImode:
          if (pattern581 (x1, HImode, SImode) != 0)
            return -1;
          return 1;

        case DImode:
          if (pattern582 (x1, SImode, DImode) != 0)
            return -1;
          return 2;

        case TImode:
          if (pattern582 (x1, DImode, TImode) != 0)
            return -1;
          return 3;

        default:
          return -1;
        }

    case CONST_INT:
      operands[3] = x13;
      x15 = XEXP (x7, 1);
      operands[2] = x15;
      x16 = XEXP (x9, 1);
      if (!rtx_equal_p (x16, operands[2]))
        return -1;
      switch (GET_MODE (x4))
        {
        case HImode:
          if (pattern583 (x1, QImode, HImode) != 0)
            return -1;
          return 4;

        case SImode:
          if (pattern583 (x1, HImode, SImode) != 0)
            return -1;
          return 5;

        case DImode:
          if (pattern583 (x1, SImode, DImode) != 0)
            return -1;
          return 6;

        case TImode:
          if (pattern583 (x1, DImode, TImode) != 0)
            return -1;
          return 7;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern585 (rtx x1, int *pnum_clobbers)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 2);
  switch (GET_CODE (x2))
    {
    case UNSPEC:
      if (pnum_clobbers == NULL)
        return -1;
      return pattern192 (x1); /* [-1, 1] */

    case CLOBBER:
      x3 = XEXP (x2, 0);
      if (GET_CODE (x3) != REG
          || REGNO (x3) != 17
          || GET_MODE (x3) != CCmode)
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case HImode:
          if (pattern191 (x1, HImode) != 0)
            return -1;
          return 2;

        case SImode:
          if (pattern191 (x1, SImode) != 0)
            return -1;
          return 3;

        case DImode:
          if (pattern191 (x1, DImode) != 0)
            return -1;
          return 4;

        default:
          return -1;
        }

    case USE:
      if (pnum_clobbers == NULL)
        return -1;
      res = pattern194 (x1);
      if (res >= 0)
        return res + 5; /* [5, 7] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern586 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], TImode)
      || GET_MODE (x1) != TImode
      || !register_operand (operands[1], TImode)
      || !nonmemory_operand (operands[2], QImode))
    return -1;
  return 0;
}

static int
pattern587 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8;
  int res ATTRIBUTE_UNUSED;
  if (!general_reg_operand (operands[0], i1)
      || !general_reg_operand (operands[1], i1))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != CLOBBER)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != REG
      || REGNO (x3) != 17
      || GET_MODE (x3) != CCmode)
    return -1;
  x4 = XVECEXP (x1, 0, 0);
  x5 = XEXP (x4, 1);
  x6 = XEXP (x5, 1);
  operands[2] = x6;
  if (!memory_operand (operands[2], i1))
    return -1;
  x7 = XEXP (x5, 0);
  if (!rtx_equal_p (x7, operands[0]))
    return -1;
  x8 = XEXP (x4, 0);
  if (!rtx_equal_p (x8, operands[0]))
    return -1;
  return 0;
}

static int
pattern588 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2
      || !bnd_mem_operator (operands[3], i1))
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[1], i1)
      || !address_mpx_no_base_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern589 ()
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[0]))
    {
    case CCFPmode:
      if (!ix86_fp_comparison_operator (operands[0], CCFPmode))
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case XFmode:
          if (!register_operand (operands[1], XFmode)
              || !register_operand (operands[2], XFmode))
            return -1;
          return 0;

        case SFmode:
          if (!register_operand (operands[1], SFmode)
              || !nonimmediate_operand (operands[2], SFmode))
            return -1;
          return 1;

        case DFmode:
          if (!register_operand (operands[1], DFmode)
              || !nonimmediate_operand (operands[2], DFmode))
            return -1;
          return 2;

        default:
          return -1;
        }

    case CCFPUmode:
      if (!ix86_fp_comparison_operator (operands[0], CCFPUmode))
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case SFmode:
          if (!register_operand (operands[1], SFmode)
              || !register_operand (operands[2], SFmode))
            return -1;
          return 3;

        case DFmode:
          if (!register_operand (operands[1], DFmode)
              || !register_operand (operands[2], DFmode))
            return -1;
          return 4;

        case XFmode:
          if (!register_operand (operands[1], XFmode)
              || !register_operand (operands[2], XFmode))
            return -1;
          return 5;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern590 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (GET_CODE (x1) != SIGN_EXTEND
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) != VEC_SELECT
      || GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) != PARALLEL)
    return -1;
  return 0;
}

static int
pattern591 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!nonimmediate_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !ix86_carry_flag_operator (operands[4], i1)
      || !nonimmediate_operand (operands[1], i1)
      || !x86_64_general_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern592 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!nonimmediate_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !nonimmediate_operand (operands[1], i1)
      || !ix86_carry_flag_operator (operands[4], i1)
      || !x86_64_general_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern593 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !nonimmediate_operand (operands[1], i1))
    return -1;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[2], i1)
      || !const_int_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern594 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[2], i1)
      || !register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern595 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i1)
      || !nonimmediate_operand (operands[2], i1)
      || !register_operand (operands[4], i2))
    return -1;
  return 0;
}

static int
pattern596 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i1)
      || !nonimmediate_operand (operands[2], i1))
    return -1;
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[4], i2))
    return -1;
  return 0;
}

static int
pattern597 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2
      || !register_operand (operands[1], i2)
      || !nonimmediate_operand (operands[2], i2)
      || !vector_move_operand (operands[4], i2)
      || !register_operand (operands[5], i1))
    return -1;
  return 0;
}

static int
pattern598 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i2)
      || pattern563 (i3, i1) != 0)
    return -1;
  return 0;
}

static int
pattern599 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i2)
      || !register_operand (operands[2], i1)
      || !nonimmediate_operand (operands[3], i1)
      || !register_operand (operands[4], i3))
    return -1;
  return 0;
}

static int
pattern600 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2
      || !register_operand (operands[1], i3)
      || !nonimmediate_operand (operands[2], i3)
      || !vector_move_operand (operands[4], i2)
      || !register_operand (operands[5], i1))
    return -1;
  return 0;
}

static int
pattern601 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i1)
      || !nonimmediate_operand (operands[2], i1)
      || !register_operand (operands[4], i2))
    return -1;
  return 0;
}

static int
pattern602 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i1)
      || !nonimmediate_operand (operands[2], i1))
    return -1;
  x3 = XEXP (x2, 2);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[4], i2))
    return -1;
  return 0;
}

static int
pattern603 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[1], i1)
      || !nonimmediate_operand (operands[2], i1)
      || !register_operand (operands[4], i2))
    return -1;
  return 0;
}

static int
pattern604 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[1], i1)
      || !nonimmediate_operand (operands[2], i1))
    return -1;
  x4 = XEXP (x2, 2);
  if (GET_MODE (x4) != i1
      || !register_operand (operands[4], i2))
    return -1;
  return 0;
}

static int
pattern605 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !vector_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern606 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 8);
  if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    return -1;
  x3 = XVECEXP (x1, 0, 9);
  if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 9])
    return -1;
  x4 = XVECEXP (x1, 0, 10);
  if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
    return -1;
  x5 = XVECEXP (x1, 0, 11);
  if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 11])
    return -1;
  return 0;
}

static int
pattern607 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i1))
    return -1;
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) != i1
      || !nonimmediate_operand (operands[2], i2)
      || !vector_move_operand (operands[4], i1)
      || !register_operand (operands[5], i3))
    return -1;
  return 0;
}

static int
pattern608 (rtx x1, int i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  int res ATTRIBUTE_UNUSED;
  if (XVECLEN (x1, 0) != i1)
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x3 = XVECEXP (x1, 0, 1);
  if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
    return -1;
  x4 = XVECEXP (x1, 0, 2);
  if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
    return -1;
  x5 = XVECEXP (x1, 0, 3);
  if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
    return -1;
  x6 = XVECEXP (x1, 0, 4);
  if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    return -1;
  x7 = XVECEXP (x1, 0, 5);
  if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
    return -1;
  x8 = XVECEXP (x1, 0, 6);
  if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
    return -1;
  x9 = XVECEXP (x1, 0, 7);
  if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 14])
    return -1;
  return 0;
}

static int
pattern609 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  x5 = XVECEXP (x4, 0, 0);
  if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x6 = XVECEXP (x4, 0, 1);
  if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
    return -1;
  x7 = XVECEXP (x4, 0, 2);
  if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
    return -1;
  x8 = XVECEXP (x4, 0, 3);
  if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
    return -1;
  x9 = XVECEXP (x4, 0, 4);
  if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    return -1;
  x10 = XVECEXP (x4, 0, 5);
  if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
    return -1;
  x11 = XVECEXP (x4, 0, 6);
  if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
    return -1;
  x12 = XVECEXP (x4, 0, 7);
  if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 14])
    return -1;
  x13 = XEXP (x1, 1);
  x14 = XEXP (x13, 0);
  x15 = XEXP (x14, 1);
  return pattern608 (x15, 8); /* [-1, 0] */
}

static int
pattern610 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 1);
  x6 = XVECEXP (x5, 0, 0);
  if (GET_CODE (x6) != CONST_INT)
    return -1;
  x7 = XVECEXP (x5, 0, 1);
  if (GET_CODE (x7) != CONST_INT)
    return -1;
  x8 = XEXP (x2, 1);
  x9 = XEXP (x8, 0);
  x10 = XEXP (x9, 1);
  if (XVECLEN (x10, 0) != 2)
    return -1;
  x11 = XVECEXP (x10, 0, 0);
  if (GET_CODE (x11) != CONST_INT)
    return -1;
  x12 = XVECEXP (x10, 0, 1);
  if (GET_CODE (x12) != CONST_INT
      || !register_operand (operands[0], V2DImode)
      || GET_MODE (x1) != V2DImode
      || GET_MODE (x2) != V2DImode
      || GET_MODE (x3) != V2DImode
      || GET_MODE (x4) != V2SImode
      || !nonimmediate_operand (operands[1], V4SImode)
      || GET_MODE (x8) != V2DImode
      || GET_MODE (x9) != V2SImode)
    return -1;
  return 0;
}

static int
pattern611 ()
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!const_0_to_3_operand (operands[2], VOIDmode)
      || !const_0_to_3_operand (operands[3], VOIDmode)
      || !const_0_to_3_operand (operands[4], VOIDmode)
      || !const_0_to_3_operand (operands[5], VOIDmode))
    return -1;
  return 0;
}

static int
pattern612 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !nonimmediate_operand (operands[1], i1)
      || pattern611 () != 0)
    return -1;
  return 0;
}

static int
pattern613 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  operands[3] = x2;
  if (!const_0_to_3_operand (operands[3], VOIDmode))
    return -1;
  x3 = XVECEXP (x1, 0, 2);
  operands[4] = x3;
  if (!const_0_to_3_operand (operands[4], VOIDmode))
    return -1;
  x4 = XVECEXP (x1, 0, 3);
  operands[5] = x4;
  if (!const_0_to_3_operand (operands[5], VOIDmode))
    return -1;
  x5 = XVECEXP (x1, 0, 5);
  operands[7] = x5;
  if (!const_4_to_7_operand (operands[7], VOIDmode))
    return -1;
  x6 = XVECEXP (x1, 0, 6);
  operands[8] = x6;
  if (!const_4_to_7_operand (operands[8], VOIDmode))
    return -1;
  x7 = XVECEXP (x1, 0, 7);
  operands[9] = x7;
  if (!const_4_to_7_operand (operands[9], VOIDmode))
    return -1;
  return 0;
}

static int
pattern614 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!x86_64_general_operand (operands[2], SImode)
      || !register_operand (operands[0], DImode))
    return -1;
  x2 = XEXP (x1, 0);
  if (!rtx_equal_p (x2, operands[1]))
    return -1;
  x3 = XEXP (x1, 1);
  if (!rtx_equal_p (x3, operands[2]))
    return -1;
  return 0;
}

static int
pattern615 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XEXP (x2, 0);
  operands[0] = x3;
  x4 = XEXP (x2, 1);
  switch (GET_CODE (x4))
    {
    case PLUS:
      return pattern495 (x1); /* [-1, 3] */

    case ZERO_EXTEND:
      if (GET_MODE (x4) != DImode)
        return -1;
      x5 = XEXP (x4, 0);
      if (GET_CODE (x5) != PLUS
          || GET_MODE (x5) != SImode)
        return -1;
      x6 = XVECEXP (x1, 0, 0);
      x7 = XEXP (x6, 1);
      x8 = XEXP (x7, 0);
      if (GET_MODE (x8) != SImode
          || !nonimmediate_operand (operands[1], SImode)
          || pattern614 (x5) != 0)
        return -1;
      return 4;

    default:
      return -1;
    }
}

static int
pattern616 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!nonimmediate_operand (operands[1], i1)
      || !const_1_to_31_operand (operands[2], QImode)
      || !nonimmediate_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  return 0;
}

static int
pattern617 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  if (!rtx_equal_p (x4, operands[1]))
    return -1;
  x5 = XEXP (x3, 1);
  if (!rtx_equal_p (x5, operands[2]))
    return -1;
  x6 = XVECEXP (x1, 0, 0);
  x7 = XEXP (x6, 1);
  x8 = XEXP (x7, 0);
  switch (GET_MODE (x8))
    {
    case QImode:
      return pattern616 (x3, QImode); /* [-1, 0] */

    case HImode:
      if (pattern616 (x3, HImode) != 0)
        return -1;
      return 1;

    case SImode:
      if (pattern616 (x3, SImode) != 0)
        return -1;
      return 2;

    case DImode:
      if (!nonimmediate_operand (operands[1], DImode)
          || !const_1_to_63_operand (operands[2], QImode)
          || !nonimmediate_operand (operands[0], DImode)
          || GET_MODE (x3) != DImode)
        return -1;
      return 3;

    default:
      return -1;
    }
}

static int
pattern618 (rtx x1, rtx_code i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) != DImode)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != i1
      || GET_MODE (x4) != SImode)
    return -1;
  x5 = XVECEXP (x1, 0, 0);
  x6 = XEXP (x5, 1);
  x7 = XEXP (x6, 0);
  if (GET_MODE (x7) != SImode
      || !register_operand (operands[1], SImode)
      || !const_1_to_31_operand (operands[2], QImode)
      || !register_operand (operands[0], DImode))
    return -1;
  x8 = XEXP (x4, 0);
  if (!rtx_equal_p (x8, operands[1]))
    return -1;
  x9 = XEXP (x4, 1);
  if (!rtx_equal_p (x9, operands[2]))
    return -1;
  return 0;
}

static int
pattern619 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != i1
      || !nonimmediate_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern620 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !nonimmediate_operand (operands[1], i1)
      || !x86_64_general_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern621 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !nonimmediate_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern622 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !nonimmediate_operand (operands[1], i1))
    return -1;
  x3 = XEXP (x1, 1);
  if (GET_MODE (x3) != i1)
    return -1;
  return 0;
}

static int
pattern623 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (GET_CODE (x2))
    {
    case REG:
    case SUBREG:
    case MEM:
      if (!rtx_equal_p (x2, operands[1]))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case SImode:
          return pattern621 (x1, SImode); /* [-1, 0] */

        case DImode:
          if (pattern621 (x1, DImode) != 0)
            return -1;
          return 1;

        default:
          return -1;
        }

    case NOT:
      x3 = XEXP (x2, 0);
      if (!rtx_equal_p (x3, operands[1]))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case SImode:
          if (pattern622 (x1, SImode) != 0)
            return -1;
          return 2;

        case DImode:
          if (pattern622 (x1, DImode) != 0)
            return -1;
          return 3;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern624 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i1)
      || !nonimmediate_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern625 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i1)
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern626 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  switch (GET_MODE (x2))
    {
    case SFmode:
      if (!register_operand (operands[1], V4SFmode))
        return -1;
      return 0;

    case DFmode:
      if (!register_operand (operands[1], V2DFmode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern627 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) != PARALLEL
      || XVECLEN (x3, 0) != 1)
    return -1;
  x4 = XVECEXP (x3, 0, 0);
  if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x5 = XEXP (x2, 0);
  operands[1] = x5;
  switch (GET_MODE (operands[0]))
    {
    case SImode:
      return pattern626 (x1, SImode); /* [-1, 1] */

    case DImode:
      res = pattern626 (x1, DImode);
      if (res >= 0)
        return res + 2; /* [2, 3] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern628 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XVECEXP (x2, 0, 0);
  operands[3] = x3;
  if (!const48_operand (operands[3], SImode))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case V16SFmode:
      if (!register_operand (operands[0], V16SFmode))
        return -1;
      x4 = XVECEXP (x1, 0, 0);
      x5 = XEXP (x4, 1);
      if (GET_MODE (x5) != V16SFmode
          || !nonimmediate_operand (operands[1], V16SFmode))
        return -1;
      return 0;

    case V8SFmode:
      if (!register_operand (operands[0], V8SFmode))
        return -1;
      x4 = XVECEXP (x1, 0, 0);
      x5 = XEXP (x4, 1);
      if (GET_MODE (x5) != V8SFmode
          || !nonimmediate_operand (operands[1], V8SFmode))
        return -1;
      return 1;

    case V4SFmode:
      if (!register_operand (operands[0], V4SFmode))
        return -1;
      x4 = XVECEXP (x1, 0, 0);
      x5 = XEXP (x4, 1);
      if (GET_MODE (x5) != V4SFmode
          || !nonimmediate_operand (operands[1], V4SFmode))
        return -1;
      return 2;

    case V8DFmode:
      if (!register_operand (operands[0], V8DFmode))
        return -1;
      x4 = XVECEXP (x1, 0, 0);
      x5 = XEXP (x4, 1);
      if (GET_MODE (x5) != V8DFmode
          || !nonimmediate_operand (operands[1], V8DFmode))
        return -1;
      return 3;

    case V4DFmode:
      if (!register_operand (operands[0], V4DFmode))
        return -1;
      x4 = XVECEXP (x1, 0, 0);
      x5 = XEXP (x4, 1);
      if (GET_MODE (x5) != V4DFmode
          || !nonimmediate_operand (operands[1], V4DFmode))
        return -1;
      return 4;

    case V2DFmode:
      if (!register_operand (operands[0], V2DFmode))
        return -1;
      x4 = XVECEXP (x1, 0, 0);
      x5 = XEXP (x4, 1);
      if (GET_MODE (x5) != V2DFmode
          || !nonimmediate_operand (operands[1], V2DFmode))
        return -1;
      return 5;

    default:
      return -1;
    }
}

static int
pattern629 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!nonimmediate_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !nonimmediate_operand (operands[1], i1)
      || !nonmemory_operand (operands[2], QImode))
    return -1;
  return 0;
}

static int
pattern630 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i1)
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern631 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i1)
      || !register_operand (operands[2], i1)
      || !vector_move_operand (operands[3], i1)
      || !register_operand (operands[4], i2))
    return -1;
  return 0;
}

static int
pattern632 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 1);
  operands[3] = x4;
  x5 = XEXP (x3, 2);
  operands[4] = x5;
  x6 = XVECEXP (x1, 0, 1);
  x7 = XVECEXP (x6, 0, 0);
  operands[5] = x7;
  if (!const48_operand (operands[5], SImode))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case V16SFmode:
      return pattern631 (x3, V16SFmode, HImode); /* [-1, 0] */

    case V8DFmode:
      if (pattern631 (x3, V8DFmode, QImode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern633 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2
      || !register_operand (operands[1], i2)
      || !vector_move_operand (operands[2], i2)
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern634 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i1)
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern635 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XVECEXP (x2, 0, 0);
  if (!const48_operand (x3, SImode))
    return -1;
  x4 = XVECEXP (x1, 0, 0);
  x5 = XEXP (x4, 1);
  x6 = XEXP (x5, 2);
  switch (GET_CODE (x6))
    {
    case REG:
    case SUBREG:
      operands[3] = x6;
      operands[4] = x3;
      switch (GET_MODE (operands[0]))
        {
        case V16SFmode:
          return pattern633 (x5, HImode, V16SFmode); /* [-1, 0] */

        case V8DFmode:
          if (pattern633 (x5, QImode, V8DFmode) != 0)
            return -1;
          return 1;

        default:
          return -1;
        }

    case CONST_INT:
      if (XWINT (x6, 0) != 1LL)
        return -1;
      operands[3] = x3;
      switch (GET_MODE (operands[0]))
        {
        case V4SFmode:
          if (pattern634 (x5, V4SFmode) != 0)
            return -1;
          return 2;

        case V2DFmode:
          if (pattern634 (x5, V2DFmode) != 0)
            return -1;
          return 3;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern636 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 1);
  switch (GET_CODE (x4))
    {
    case CONST_INT:
    case CONST_DOUBLE:
    case CONST_VECTOR:
      operands[4] = x4;
      x5 = XEXP (x3, 0);
      x6 = XEXP (x5, 0);
      x7 = XEXP (x6, 0);
      operands[1] = x7;
      x8 = XEXP (x5, 1);
      operands[2] = x8;
      return 0;

    case REG:
    case SUBREG:
      x9 = XEXP (x3, 2);
      switch (GET_CODE (x9))
        {
        case REG:
        case SUBREG:
          operands[4] = x9;
          x5 = XEXP (x3, 0);
          x6 = XEXP (x5, 0);
          x7 = XEXP (x6, 0);
          operands[1] = x7;
          x8 = XEXP (x5, 1);
          operands[2] = x8;
          return 1;

        case CONST_INT:
          if (XWINT (x9, 0) != 1LL)
            return -1;
          x5 = XEXP (x3, 0);
          x6 = XEXP (x5, 0);
          x7 = XEXP (x6, 0);
          operands[2] = x7;
          x8 = XEXP (x5, 1);
          operands[1] = x8;
          x10 = XVECEXP (x1, 0, 1);
          x11 = XVECEXP (x10, 0, 0);
          operands[4] = x11;
          if (!rtx_equal_p (x4, operands[1]))
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case V4SFmode:
              return 2;

            case V2DFmode:
              return 3;

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern637 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2
      || !register_operand (operands[1], i1))
    return -1;
  x3 = XEXP (x1, 1);
  if (GET_MODE (x3) != i2
      || !nonimmediate_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern638 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i3)
      || GET_MODE (x1) != i3
      || pattern637 (x1, i1, i2) != 0)
    return -1;
  return 0;
}

static int
pattern639 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!nonimmediate_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !nonimmediate_operand (operands[1], i1)
      || !x86_64_hilo_general_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern640 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !index_register_operand (operands[1], i1)
      || !const_0_to_3_operand (operands[2], VOIDmode))
    return -1;
  return 0;
}

static int
pattern641 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || !addsub_vm_operator (operands[6], i1))
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i1)
      || !vector_operand (operands[2], i1))
    return -1;
  x3 = XEXP (x1, 1);
  if (GET_MODE (x3) != i1
      || !vector_operand (operands[3], i1)
      || !vector_operand (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern642 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || !addsub_vm_operator (operands[6], i1))
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !vector_operand (operands[1], i1)
      || !vector_operand (operands[2], i1))
    return -1;
  x3 = XEXP (x1, 1);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[3], i1)
      || !vector_operand (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern643 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (GET_MODE (x1) != i1
      || !fcmov_comparison_operator (operands[1], VOIDmode)
      || !nonimmediate_operand (operands[2], i1)
      || !nonimmediate_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern644 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !nonimmediate_operand (operands[1], i1)
      || !const_int_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern645 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[1], i1)
      || !float_operator (operands[3], i1))
    return -1;
  switch (GET_MODE (operands[2]))
    {
    case HImode:
      if (!memory_operand (operands[2], HImode))
        return -1;
      return 0;

    case SImode:
      if (!memory_operand (operands[2], SImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern646 ()
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[1]))
    {
    case SFmode:
      if (!register_operand (operands[1], SFmode)
          || !const0_operand (operands[2], SFmode))
        return -1;
      return 0;

    case DFmode:
      if (!register_operand (operands[1], DFmode)
          || !const0_operand (operands[2], DFmode))
        return -1;
      return 1;

    case XFmode:
      if (!register_operand (operands[1], XFmode)
          || !const0_operand (operands[2], XFmode))
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern647 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!nonimmediate_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !ix86_carry_flag_operator (operands[4], i1)
      || !nonimmediate_operand (operands[1], i1)
      || !general_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern648 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!nonimmediate_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !nonimmediate_operand (operands[1], i1)
      || !ix86_carry_flag_operator (operands[4], i1)
      || !general_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern649 (rtx x1, rtx_code i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19, x20, x21, x22, x23, x24, x25;
  rtx x26, x27, x28, x29, x30, x31, x32, x33;
  rtx x34, x35, x36, x37, x38, x39;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != VEC_SELECT
      || GET_MODE (x4) != HImode)
    return -1;
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) != PARALLEL
      || XVECLEN (x5, 0) != 1)
    return -1;
  x6 = XVECEXP (x5, 0, 0);
  if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x7 = XEXP (x3, 1);
  if (GET_CODE (x7) != VEC_SELECT
      || GET_MODE (x7) != HImode)
    return -1;
  x8 = XEXP (x7, 1);
  if (GET_CODE (x8) != PARALLEL
      || XVECLEN (x8, 0) != 1)
    return -1;
  x9 = XVECEXP (x8, 0, 0);
  if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x10 = XEXP (x2, 1);
  if (GET_CODE (x10) != i1)
    return -1;
  x11 = XEXP (x10, 0);
  if (GET_CODE (x11) != VEC_SELECT
      || GET_MODE (x11) != HImode)
    return -1;
  x12 = XEXP (x11, 1);
  if (GET_CODE (x12) != PARALLEL
      || XVECLEN (x12, 0) != 1)
    return -1;
  x13 = XVECEXP (x12, 0, 0);
  if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
    return -1;
  x14 = XEXP (x10, 1);
  if (GET_CODE (x14) != VEC_SELECT
      || GET_MODE (x14) != HImode)
    return -1;
  x15 = XEXP (x14, 1);
  if (GET_CODE (x15) != PARALLEL
      || XVECLEN (x15, 0) != 1)
    return -1;
  x16 = XVECEXP (x15, 0, 0);
  if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
    return -1;
  x17 = XEXP (x1, 1);
  x18 = XEXP (x17, 0);
  if (GET_CODE (x18) != i1)
    return -1;
  x19 = XEXP (x18, 0);
  if (GET_CODE (x19) != VEC_SELECT
      || GET_MODE (x19) != HImode)
    return -1;
  x20 = XEXP (x19, 1);
  if (GET_CODE (x20) != PARALLEL
      || XVECLEN (x20, 0) != 1)
    return -1;
  x21 = XVECEXP (x20, 0, 0);
  if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x22 = XEXP (x18, 1);
  if (GET_CODE (x22) != VEC_SELECT
      || GET_MODE (x22) != HImode)
    return -1;
  x23 = XEXP (x22, 1);
  if (GET_CODE (x23) != PARALLEL
      || XVECLEN (x23, 0) != 1)
    return -1;
  x24 = XVECEXP (x23, 0, 0);
  if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x25 = XEXP (x17, 1);
  if (GET_CODE (x25) != i1)
    return -1;
  x26 = XEXP (x25, 0);
  if (GET_CODE (x26) != VEC_SELECT
      || GET_MODE (x26) != HImode)
    return -1;
  x27 = XEXP (x26, 1);
  if (GET_CODE (x27) != PARALLEL
      || XVECLEN (x27, 0) != 1)
    return -1;
  x28 = XVECEXP (x27, 0, 0);
  if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
    return -1;
  x29 = XEXP (x25, 1);
  if (GET_CODE (x29) != VEC_SELECT
      || GET_MODE (x29) != HImode)
    return -1;
  x30 = XEXP (x29, 1);
  if (GET_CODE (x30) != PARALLEL
      || XVECLEN (x30, 0) != 1)
    return -1;
  x31 = XVECEXP (x30, 0, 0);
  if (x31 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
    return -1;
  x32 = XEXP (x4, 0);
  operands[1] = x32;
  if (!register_operand (operands[1], V4HImode))
    return -1;
  x33 = XEXP (x19, 0);
  operands[2] = x33;
  if (!nonimmediate_operand (operands[2], V4HImode))
    return -1;
  x34 = XEXP (x7, 0);
  if (!rtx_equal_p (x34, operands[1]))
    return -1;
  x35 = XEXP (x11, 0);
  if (!rtx_equal_p (x35, operands[1]))
    return -1;
  x36 = XEXP (x14, 0);
  if (!rtx_equal_p (x36, operands[1]))
    return -1;
  x37 = XEXP (x22, 0);
  if (!rtx_equal_p (x37, operands[2]))
    return -1;
  x38 = XEXP (x26, 0);
  if (!rtx_equal_p (x38, operands[2]))
    return -1;
  x39 = XEXP (x29, 0);
  if (!rtx_equal_p (x39, operands[2]))
    return -1;
  return 0;
}

static int
pattern650 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  int res ATTRIBUTE_UNUSED;
  if (GET_MODE (x1) != i1)
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x3 = XVECEXP (x1, 0, 1);
  if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x4 = XVECEXP (x1, 0, 2);
  if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x5 = XVECEXP (x1, 0, 3);
  if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x6 = XVECEXP (x1, 0, 4);
  if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x7 = XVECEXP (x1, 0, 5);
  if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x8 = XVECEXP (x1, 0, 6);
  if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x9 = XVECEXP (x1, 0, 7);
  if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  return 0;
}

static int
pattern651 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !vector_operand (operands[1], i1)
      || !vector_operand (operands[2], i1)
      || !vector_operand (operands[3], i1)
      || !const0_operand (operands[4], i1)
      || !register_operand (operands[5], i2))
    return -1;
  return 0;
}

static int
pattern652 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !vector_operand (operands[1], i1)
      || !vector_operand (operands[2], i1))
    return -1;
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) != i1
      || !vector_operand (operands[3], i1)
      || !const0_operand (operands[4], i1)
      || !register_operand (operands[5], i2))
    return -1;
  return 0;
}

static int
pattern653 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i1)
      || !vector_operand (operands[2], i1)
      || !vector_move_operand (operands[4], i1)
      || !register_operand (operands[5], i2))
    return -1;
  return 0;
}

static int
pattern654 (machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!vector_operand (operands[2], i1)
      || !vector_operand (operands[3], i1)
      || !const0_operand (operands[4], i1)
      || !register_operand (operands[5], i2))
    return -1;
  return 0;
}

static int
pattern655 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !vector_operand (operands[1], i1)
      || pattern654 (i1, i2) != 0)
    return -1;
  return 0;
}

static int
pattern656 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !nonimmediate_operand (operands[1], i1)
      || !nonimmediate_operand (operands[2], i1)
      || !nonimmediate_operand (operands[3], i1)
      || !const0_operand (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern657 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !vector_operand (operands[1], i1)
      || !vector_operand (operands[2], i1)
      || !vector_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern658 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!vector_operand (operands[2], i2)
      || GET_MODE (x1) != i2
      || !vector_operand (operands[3], i2)
      || !const0_operand (operands[4], i2)
      || !register_operand (operands[5], i1))
    return -1;
  return 0;
}

static int
pattern659 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !vector_operand (operands[1], i1))
    return -1;
  x3 = XEXP (x2, 2);
  return pattern658 (x3, i2, i1); /* [-1, 0] */
}

static int
pattern660 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!nonimmediate_operand (operands[2], i1)
      || GET_MODE (x1) != i1
      || !nonimmediate_operand (operands[3], i1)
      || !const0_operand (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern661 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !nonimmediate_operand (operands[1], i1))
    return -1;
  x3 = XEXP (x2, 2);
  return pattern660 (x3, i1); /* [-1, 0] */
}

static int
pattern662 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !vector_operand (operands[1], i1)
      || !vector_operand (operands[2], i1))
    return -1;
  x3 = XEXP (x2, 2);
  if (GET_MODE (x3) != i1
      || !vector_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern663 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i1
      || !vector_operand (operands[1], i1)
      || pattern654 (i1, i2) != 0)
    return -1;
  return 0;
}

static int
pattern664 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i1
      || !nonimmediate_operand (operands[1], i1)
      || !nonimmediate_operand (operands[2], i1)
      || !nonimmediate_operand (operands[3], i1)
      || !const0_operand (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern665 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i1
      || !vector_operand (operands[2], i1)
      || !vector_operand (operands[1], i1)
      || !vector_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern666 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i1)
    return -1;
  x4 = XEXP (x2, 2);
  if (GET_MODE (x4) != i1
      || !const0_operand (operands[4], i1)
      || !register_operand (operands[5], QImode))
    return -1;
  return 0;
}

static int
pattern667 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i2
      || !vector_operand (operands[1], i2))
    return -1;
  x4 = XEXP (x2, 2);
  return pattern658 (x4, i1, i2); /* [-1, 0] */
}

static int
pattern668 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i1
      || !nonimmediate_operand (operands[1], i1))
    return -1;
  x4 = XEXP (x2, 2);
  return pattern660 (x4, i1); /* [-1, 0] */
}

static int
pattern669 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i1
      || !vector_operand (operands[2], i1)
      || !vector_operand (operands[1], i1))
    return -1;
  x4 = XEXP (x2, 2);
  if (GET_MODE (x4) != i1
      || !vector_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern670 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  operands[3] = x2;
  if (!const_0_to_3_operand (operands[3], VOIDmode))
    return -1;
  x3 = XVECEXP (x1, 0, 2);
  operands[4] = x3;
  if (!const_0_to_3_operand (operands[4], VOIDmode))
    return -1;
  x4 = XVECEXP (x1, 0, 3);
  operands[5] = x4;
  if (!const_0_to_3_operand (operands[5], VOIDmode))
    return -1;
  x5 = XVECEXP (x1, 0, 5);
  operands[7] = x5;
  if (!const_4_to_7_operand (operands[7], VOIDmode))
    return -1;
  x6 = XVECEXP (x1, 0, 6);
  operands[8] = x6;
  if (!const_4_to_7_operand (operands[8], VOIDmode))
    return -1;
  x7 = XVECEXP (x1, 0, 7);
  operands[9] = x7;
  if (!const_4_to_7_operand (operands[9], VOIDmode))
    return -1;
  return 0;
}

static int
pattern671 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !nonimmediate_operand (operands[1], i1)
      || !vector_move_operand (operands[4], i1)
      || !register_operand (operands[5], i2))
    return -1;
  return 0;
}

static int
pattern672 ()
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!const_0_to_3_operand (operands[3], VOIDmode)
      || !const_0_to_3_operand (operands[4], VOIDmode)
      || !const_4_to_7_operand (operands[5], VOIDmode)
      || !const_4_to_7_operand (operands[6], VOIDmode))
    return -1;
  return 0;
}

static int
pattern673 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2
      || !register_operand (operands[1], i1)
      || !vector_operand (operands[2], i1)
      || pattern672 () != 0)
    return -1;
  return 0;
}

static int
pattern674 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i2)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != i2)
    return -1;
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != i2
      || !vector_operand (operands[1], i1))
    return -1;
  x6 = XEXP (x4, 1);
  if (GET_MODE (x6) != i2
      || !vector_operand (operands[2], i1)
      || !const1_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern675 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (GET_MODE (x1) != i1
      || !register_operand (operands[1], i1)
      || !nonimmediate_operand (operands[2], i1)
      || !scratch_operand (operands[0], i1))
    return -1;
  return 0;
}

static int
pattern676 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!nonimmediate_operand (operands[0], DImode)
      || GET_MODE (x1) != DImode
      || !nonimmediate_operand (operands[1], DImode)
      || !x86_64_szext_general_operand (operands[2], DImode))
    return -1;
  return 0;
}

static int
pattern677 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2
      || !register_operand (operands[2], i2)
      || !register_operand (operands[3], i2)
      || !nonimmediate_operand (operands[4], i1)
      || !nonimmediate_operand (operands[5], i1)
      || !scratch_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern678 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], TFmode)
      || GET_MODE (x1) != TFmode
      || !register_operand (operands[2], TFmode)
      || !register_operand (operands[3], TFmode))
    return -1;
  return 0;
}

static int
pattern679 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !nonimmediate_operand (operands[1], i1)
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern680 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[2] = x4;
  if (!register_operand (operands[2], XFmode))
    return -1;
  x5 = XVECEXP (x3, 0, 1);
  operands[3] = x5;
  if (!register_operand (operands[3], XFmode))
    return -1;
  x6 = XVECEXP (x1, 0, 1);
  x7 = XEXP (x6, 0);
  operands[1] = x7;
  if (!register_operand (operands[1], XFmode))
    return -1;
  x8 = XEXP (x6, 1);
  x9 = XVECEXP (x8, 0, 0);
  if (!rtx_equal_p (x9, operands[2]))
    return -1;
  x10 = XVECEXP (x8, 0, 1);
  if (!rtx_equal_p (x10, operands[3]))
    return -1;
  return 0;
}

static int
pattern681 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[1], i1)
      || !const_int_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern682 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!memory_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  if (GET_MODE (x2) != i1
      || !nonmemory_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern683 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  operands[1] = x3;
  x4 = XEXP (x2, 0);
  if (!rtx_equal_p (x4, operands[0]))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case QImode:
      return pattern682 (x1, QImode); /* [-1, 0] */

    case HImode:
      if (pattern682 (x1, HImode) != 0)
        return -1;
      return 1;

    case SImode:
      if (pattern682 (x1, SImode) != 0)
        return -1;
      return 2;

    case DImode:
      if (pattern682 (x1, DImode) != 0)
        return -1;
      return 3;

    default:
      return -1;
    }
}

static int
pattern684 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !nonimmediate_operand (operands[1], i1)
      || !vector_move_operand (operands[3], i1)
      || !register_operand (operands[4], i2))
    return -1;
  return 0;
}

static int
pattern685 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 1);
  operands[3] = x4;
  x5 = XEXP (x3, 2);
  operands[4] = x5;
  x6 = XVECEXP (x1, 0, 1);
  x7 = XVECEXP (x6, 0, 0);
  operands[5] = x7;
  if (!const48_operand (operands[5], SImode))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case V16SFmode:
      return pattern684 (x3, V16SFmode, HImode); /* [-1, 0] */

    case V8SFmode:
      if (pattern684 (x3, V8SFmode, QImode) != 0)
        return -1;
      return 1;

    case V4SFmode:
      if (pattern684 (x3, V4SFmode, QImode) != 0)
        return -1;
      return 2;

    case V8DFmode:
      if (pattern684 (x3, V8DFmode, QImode) != 0)
        return -1;
      return 3;

    case V4DFmode:
      if (pattern684 (x3, V4DFmode, QImode) != 0)
        return -1;
      return 4;

    case V2DFmode:
      if (pattern684 (x3, V2DFmode, QImode) != 0)
        return -1;
      return 5;

    default:
      return -1;
    }
}

static int
pattern686 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  operands[2] = x4;
  switch (GET_MODE (operands[0]))
    {
    case V4SFmode:
      if (!register_operand (operands[0], V4SFmode)
          || GET_MODE (x1) != V4SFmode
          || GET_MODE (x2) != V4SFmode
          || GET_MODE (x3) != SFmode
          || !register_operand (operands[1], V4SFmode))
        return -1;
      switch (GET_MODE (operands[2]))
        {
        case SImode:
          if (!register_operand (operands[2], SImode))
            return -1;
          return 0;

        case DImode:
          if (!register_operand (operands[2], DImode))
            return -1;
          return 1;

        default:
          return -1;
        }

    case V2DFmode:
      if (!register_operand (operands[0], V2DFmode)
          || GET_MODE (x1) != V2DFmode
          || GET_MODE (x2) != V2DFmode
          || GET_MODE (x3) != DFmode
          || !register_operand (operands[2], DImode)
          || !register_operand (operands[1], V2DFmode))
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern687 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[2], i1)
      || !register_operand (operands[0], i1))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) != i1)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != i1
      || !register_operand (operands[5], i1)
      || !register_operand (operands[3], i1)
      || !register_operand (operands[1], i1))
    return -1;
  x5 = XVECEXP (x1, 0, 2);
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) != i1)
    return -1;
  x7 = XEXP (x6, 0);
  if (GET_MODE (x7) != i1
      || !register_operand (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern688 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[1], i1)
      || !register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[4], i1)
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern689 (rtx x1, int i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19, x20, x21, x22;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 2);
  x3 = XEXP (x2, 1);
  switch (GET_CODE (x3))
    {
    case PLUS:
      x4 = XEXP (x3, 0);
      if (GET_CODE (x4) != ASHIFT)
        return -1;
      x5 = XEXP (x4, 1);
      if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
        return -1;
      x6 = XVECEXP (x1, 0, 3);
      if (GET_CODE (x6) != SET)
        return -1;
      x7 = XEXP (x6, 1);
      if (GET_CODE (x7) != MEM
          || GET_MODE (x7) != BLKmode)
        return -1;
      x8 = XEXP (x6, 0);
      if (GET_CODE (x8) != MEM
          || GET_MODE (x8) != BLKmode)
        return -1;
      x9 = XVECEXP (x1, 0, 0);
      x10 = XEXP (x9, 0);
      operands[2] = x10;
      x11 = XVECEXP (x1, 0, 1);
      x12 = XEXP (x11, 1);
      x13 = XEXP (x12, 0);
      x14 = XEXP (x13, 0);
      operands[5] = x14;
      x15 = XEXP (x2, 0);
      operands[1] = x15;
      x16 = XEXP (x3, 1);
      operands[4] = x16;
      x17 = XEXP (x4, 0);
      if (!rtx_equal_p (x17, operands[5]))
        return -1;
      x18 = XEXP (x7, 0);
      if (!rtx_equal_p (x18, operands[4]))
        return -1;
      x19 = XEXP (x8, 0);
      if (!rtx_equal_p (x19, operands[3]))
        return -1;
      x20 = XVECEXP (x1, 0, 4);
      x21 = XEXP (x20, 0);
      if (!rtx_equal_p (x21, operands[5]))
        return -1;
      switch (GET_MODE (operands[2]))
        {
        case SImode:
          return pattern687 (x1, SImode); /* [-1, 0] */

        case DImode:
          if (pattern687 (x1, DImode) != 0)
            return -1;
          return 1;

        default:
          return -1;
        }

    case CONST_INT:
      if (XWINT (x3, 0) != 0LL)
        return -1;
      x15 = XEXP (x2, 0);
      if (GET_CODE (x15) != MEM
          || GET_MODE (x15) != BLKmode)
        return -1;
      x6 = XVECEXP (x1, 0, 3);
      if (GET_CODE (x6) != USE)
        return -1;
      x9 = XVECEXP (x1, 0, 0);
      x10 = XEXP (x9, 0);
      operands[1] = x10;
      x11 = XVECEXP (x1, 0, 1);
      x12 = XEXP (x11, 1);
      x13 = XEXP (x12, 0);
      x14 = XEXP (x13, 0);
      operands[4] = x14;
      x8 = XEXP (x6, 0);
      operands[2] = x8;
      if (!register_operand (operands[2], i2))
        return -1;
      x22 = XEXP (x15, 0);
      if (!rtx_equal_p (x22, operands[3]))
        return -1;
      x20 = XVECEXP (x1, 0, 4);
      x21 = XEXP (x20, 0);
      if (!rtx_equal_p (x21, operands[4]))
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case SImode:
          if (pattern688 (x12, SImode) != 0)
            return -1;
          return 2;

        case DImode:
          if (pattern688 (x12, DImode) != 0)
            return -1;
          return 3;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern690 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2
      || !register_operand (operands[2], i2)
      || !register_operand (operands[3], i2)
      || !scratch_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern691 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[1], i1)
      || !x86_64_nonmemory_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern692 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[1], i1)
      || !nonmemory_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern693 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (GET_CODE (x1) != SET)
    return -1;
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) != PLUS
      || GET_MODE (x2) != SImode)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != REG
      || REGNO (x3) != 7
      || GET_MODE (x3) != SImode)
    return -1;
  return 0;
}

static int
pattern694 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  operands[0] = x3;
  x4 = XEXP (x1, 0);
  switch (GET_MODE (x4))
    {
    case SImode:
      if (GET_MODE (x2) != SImode)
        return -1;
      x5 = XEXP (x2, 0);
      if (GET_MODE (x5) != SImode
          || !const_int_operand (operands[0], SImode))
        return -1;
      return 0;

    case DImode:
      if (GET_MODE (x2) != DImode)
        return -1;
      x5 = XEXP (x2, 0);
      if (GET_MODE (x5) != DImode
          || !const_int_operand (operands[0], DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern695 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case SFmode:
      if (!register_operand (operands[0], V4SFmode))
        return -1;
      x3 = XEXP (x1, 1);
      if (GET_MODE (x3) != SFmode
          || !nonimmediate_operand (operands[1], V4SFmode))
        return -1;
      return 0;

    case DFmode:
      if (!register_operand (operands[0], V2DFmode))
        return -1;
      x3 = XEXP (x1, 1);
      if (GET_MODE (x3) != DFmode
          || !nonimmediate_operand (operands[1], V2DFmode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern696 ()
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[1]))
    {
    case V4SFmode:
      if (!register_operand (operands[1], V4SFmode)
          || !vector_operand (operands[2], V4SFmode))
        return -1;
      return 0;

    case V2DFmode:
      if (!register_operand (operands[1], V2DFmode)
          || !vector_operand (operands[2], V2DFmode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern697 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!float_operator (operands[1], i1)
      || !register_operand (operands[3], i1))
    return -1;
  switch (GET_MODE (operands[2]))
    {
    case HImode:
      if (!nonimmediate_operand (operands[2], HImode))
        return -1;
      return 0;

    case SImode:
      if (!nonimmediate_operand (operands[2], SImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern698 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i1)
      || !register_operand (operands[2], i1)
      || !nonimmediate_operand (operands[3], i1)
      || !const0_operand (operands[5], i1)
      || !register_operand (operands[6], i2))
    return -1;
  return 0;
}

static int
pattern699 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i1)
      || !register_operand (operands[2], i1)
      || !nonimmediate_operand (operands[3], i1)
      || !register_operand (operands[5], i2))
    return -1;
  return 0;
}

static int
pattern700 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i1)
      || !register_operand (operands[2], i1)
      || !nonimmediate_operand (operands[3], i2)
      || !const0_operand (operands[5], i1)
      || !register_operand (operands[6], i3))
    return -1;
  return 0;
}

static int
pattern701 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i2
      || !register_operand (operands[1], i1)
      || !nonimmediate_operand (operands[2], i2)
      || !vector_move_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern702 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!nonimmediate_operand (operands[0], V4SFmode)
      || GET_MODE (x1) != V4SFmode)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != V8SFmode
      || !nonimmediate_operand (operands[1], V4SFmode))
    return -1;
  x3 = XEXP (x2, 1);
  operands[2] = x3;
  if (!nonimmediate_operand (operands[2], V4SFmode))
    return -1;
  return 0;
}

static int
pattern703 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], V4SFmode)
      || GET_MODE (x1) != V4SFmode)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != V8SFmode
      || !vector_operand (operands[1], V4SFmode))
    return -1;
  x3 = XEXP (x2, 1);
  if (!rtx_equal_p (x3, operands[1]))
    return -1;
  return 0;
}

static int
pattern704 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[1], i1)
      || !const_0_to_15_operand (operands[2], VOIDmode)
      || !const_0_to_15_operand (operands[3], VOIDmode)
      || !const_0_to_15_operand (operands[4], VOIDmode)
      || !const_0_to_15_operand (operands[5], VOIDmode))
    return -1;
  return 0;
}

static int
pattern705 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 4);
  operands[2] = x2;
  if (!const_4_to_7_operand (operands[2], VOIDmode))
    return -1;
  x3 = XVECEXP (x1, 0, 5);
  operands[3] = x3;
  if (!const_4_to_7_operand (operands[3], VOIDmode))
    return -1;
  x4 = XVECEXP (x1, 0, 6);
  operands[4] = x4;
  if (!const_4_to_7_operand (operands[4], VOIDmode))
    return -1;
  x5 = XVECEXP (x1, 0, 7);
  operands[5] = x5;
  if (!const_4_to_7_operand (operands[5], VOIDmode))
    return -1;
  return 0;
}

static int
pattern706 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern707 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1))
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[2], i1)
      || !const_int_operand (operands[3], i1)
      || !register_operand (operands[1], i1))
    return -1;
  x4 = XVECEXP (x1, 0, 1);
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) != i1)
    return -1;
  return 0;
}

static int
pattern708 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  switch (GET_MODE (operands[1]))
    {
    case V8SFmode:
      if (!nonimmediate_operand (operands[1], V8SFmode))
        return -1;
      return 0;

    case V8DFmode:
      if (!nonimmediate_operand (operands[1], V8DFmode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern709 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[1], i1)
      || !nonimmediate_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern710 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !memory_operand (operands[1], i1)
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern711 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !nonimmediate_operand (operands[1], i2)
      || !vector_move_operand (operands[2], i1)
      || !register_operand (operands[3], i3))
    return -1;
  return 0;
}

static int
pattern712 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !vector_move_operand (operands[2], i1)
      || !register_operand (operands[3], QImode))
    return -1;
  return 0;
}

static int
pattern713 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i2)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != i2
      || !nonimmediate_operand (operands[1], i1))
    return -1;
  x5 = XEXP (x3, 1);
  if (GET_MODE (x5) != i2
      || !nonimmediate_operand (operands[2], i1)
      || !scratch_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern714 (rtx x1, rtx_code i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) != i1)
    return -1;
  x5 = XEXP (x3, 0);
  x6 = XEXP (x5, 0);
  operands[1] = x6;
  x7 = XEXP (x4, 0);
  operands[2] = x7;
  x8 = XEXP (x2, 1);
  switch (XWINT (x8, 0))
    {
    case 64LL:
      return pattern713 (x1, DImode, TImode); /* [-1, 0] */

    case 32LL:
      if (pattern713 (x1, SImode, DImode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern715 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  switch (GET_CODE (x3))
    {
    case COMPARE:
      x4 = XEXP (x3, 0);
      if (GET_CODE (x4) != MEM
          || GET_MODE (x4) != BLKmode)
        return -1;
      x5 = XEXP (x3, 1);
      if (GET_CODE (x5) != MEM
          || GET_MODE (x5) != BLKmode)
        return -1;
      x6 = XEXP (x4, 0);
      operands[4] = x6;
      return 0;

    case IF_THEN_ELSE:
      x4 = XEXP (x3, 0);
      if (GET_CODE (x4) != NE)
        return -1;
      x7 = XEXP (x4, 1);
      if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x5 = XEXP (x3, 1);
      if (GET_CODE (x5) != COMPARE
          || GET_MODE (x5) != CCmode)
        return -1;
      x8 = XEXP (x5, 0);
      if (GET_CODE (x8) != MEM
          || GET_MODE (x8) != BLKmode)
        return -1;
      x9 = XEXP (x5, 1);
      if (GET_CODE (x9) != MEM
          || GET_MODE (x9) != BLKmode)
        return -1;
      x10 = XEXP (x3, 2);
      if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x11 = XVECEXP (x1, 0, 2);
      x12 = XEXP (x11, 0);
      if (GET_CODE (x12) != REG
          || REGNO (x12) != 17
          || GET_MODE (x12) != CCmode)
        return -1;
      x6 = XEXP (x4, 0);
      operands[6] = x6;
      return 1;

    default:
      return -1;
    }
}

static int
pattern716 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!vsib_mem_operator (operands[5], i2)
      || !register_operand (operands[1], i1))
    return -1;
  switch (GET_MODE (x1))
    {
    case SImode:
      if (!vsib_address_operand (operands[2], SImode))
        return -1;
      return 0;

    case DImode:
      if (!vsib_address_operand (operands[2], DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern717 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!vsib_address_operand (operands[2], i1))
    return -1;
  switch (GET_MODE (operands[1]))
    {
    case V8SImode:
      if (!register_operand (operands[1], V8SImode))
        return -1;
      return 0;

    case V8DImode:
      if (!register_operand (operands[1], V8DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern718 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[0]))
    {
    case HImode:
      if (!register_operand (operands[0], HImode))
        return -1;
      return pattern716 (x1, V16SImode, V16SFmode); /* [-1, 1] */

    case QImode:
      if (!register_operand (operands[0], QImode))
        return -1;
      switch (GET_MODE (operands[5]))
        {
        case V8SFmode:
          res = pattern716 (x1, V8DImode, V8SFmode);
          if (res >= 0)
            return res + 2; /* [2, 3] */
          return -1;

        case V8DFmode:
          if (!vsib_mem_operator (operands[5], V8DFmode))
            return -1;
          switch (GET_MODE (x1))
            {
            case SImode:
              res = pattern717 (SImode);
              if (res >= 0)
                return res + 4; /* [4, 5] */
              return -1;

            case DImode:
              res = pattern717 (DImode);
              if (res >= 0)
                return res + 6; /* [6, 7] */
              return -1;

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern719 ()
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[1]))
    {
    case SFmode:
      if (!register_operand (operands[1], SFmode)
          || !const0_operand (operands[2], SFmode))
        return -1;
      return 0;

    case DFmode:
      if (!register_operand (operands[1], DFmode)
          || !const0_operand (operands[2], DFmode))
        return -1;
      return 1;

    case XFmode:
      if (!register_operand (operands[1], XFmode)
          || !const0_operand (operands[2], XFmode))
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern720 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2
      || pattern637 (x1, i1, i2) != 0)
    return -1;
  return 0;
}

static int
pattern721 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[0]))
    {
    case V8SFmode:
      if (!nonimmediate_operand (operands[0], V8SFmode)
          || GET_MODE (x1) != V8SFmode
          || !nonimmediate_operand (operands[1], V16SFmode))
        return -1;
      return 0;

    case V8SImode:
      if (!nonimmediate_operand (operands[0], V8SImode)
          || GET_MODE (x1) != V8SImode
          || !nonimmediate_operand (operands[1], V16SImode))
        return -1;
      return 1;

    case V8HImode:
      if (!nonimmediate_operand (operands[0], V8HImode)
          || GET_MODE (x1) != V8HImode
          || !nonimmediate_operand (operands[1], V16HImode))
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern722 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) != CALL)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != MEM
      || GET_MODE (x3) != QImode)
    return -1;
  x4 = XEXP (x1, 0);
  operands[2] = x4;
  x5 = XEXP (x2, 1);
  operands[3] = x5;
  x6 = XEXP (x3, 0);
  if (!rtx_equal_p (x6, operands[0]))
    return -1;
  return 0;
}

static int
pattern723 (rtx x1, rtx_code i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (XVECLEN (x1, 0) != 2)
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  if (GET_CODE (x2) != SET)
    return -1;
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) != i1
      || GET_MODE (x3) != SImode)
    return -1;
  return 0;
}

static int
pattern724 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i1)
    return -1;
  return 0;
}

static int
pattern725 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2
      || !register_operand (operands[1], i2)
      || !register_operand (operands[2], i2)
      || !nonimmediate_operand (operands[3], i1)
      || !register_operand (operands[5], i3))
    return -1;
  return 0;
}

static int
pattern726 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2
      || !register_operand (operands[1], i2)
      || !register_operand (operands[2], i2)
      || !vector_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern727 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !nonimmediate_operand (operands[2], i2))
    return -1;
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) != i2
      || !register_operand (operands[1], i1)
      || !vector_move_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern728 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 12);
  if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
    return -1;
  x3 = XVECEXP (x1, 0, 13);
  if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 13])
    return -1;
  x4 = XVECEXP (x1, 0, 14);
  if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 14])
    return -1;
  x5 = XVECEXP (x1, 0, 15);
  if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 15])
    return -1;
  return 0;
}

static int
pattern729 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (XWINT (x2, 0) != 12LL)
    return -1;
  x3 = XVECEXP (x1, 0, 2);
  if (XWINT (x3, 0) != 5LL)
    return -1;
  x4 = XVECEXP (x1, 0, 3);
  if (XWINT (x4, 0) != 13LL)
    return -1;
  x5 = XVECEXP (x1, 0, 4);
  if (XWINT (x5, 0) != 6LL)
    return -1;
  x6 = XVECEXP (x1, 0, 5);
  if (XWINT (x6, 0) != 14LL)
    return -1;
  x7 = XVECEXP (x1, 0, 6);
  if (XWINT (x7, 0) != 7LL)
    return -1;
  x8 = XVECEXP (x1, 0, 7);
  if (XWINT (x8, 0) != 15LL)
    return -1;
  return 0;
}

static int
pattern730 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i2)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != i2)
    return -1;
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != i2)
    return -1;
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) != i2
      || !vector_operand (operands[1], i1))
    return -1;
  x7 = XEXP (x5, 1);
  if (GET_MODE (x7) != i2
      || !vector_operand (operands[2], i1)
      || !const1_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern731 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!nonimmediate_operand (operands[1], i1)
      || !general_operand (operands[2], i1)
      || !nonimmediate_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  return 0;
}

static int
pattern732 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!nonimmediate_operand (operands[1], i1)
      || !x86_64_general_operand (operands[2], i1)
      || !nonimmediate_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  return 0;
}

static int
pattern733 (rtx x1, rtx_code i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19, x20, x21;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) != SUBREG
      || XINT (x3, 1) != 0
      || GET_MODE (x3) != SImode)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != i1
      || GET_MODE (x4) != QImode)
    return -1;
  x5 = XEXP (x4, 0);
  if (GET_CODE (x5) != SUBREG
      || XINT (x5, 1) != 0
      || GET_MODE (x5) != QImode)
    return -1;
  x6 = XEXP (x5, 0);
  if (GET_CODE (x6) != ZERO_EXTRACT
      || GET_MODE (x6) != SImode)
    return -1;
  x7 = XEXP (x6, 1);
  if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    return -1;
  x8 = XEXP (x6, 2);
  if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    return -1;
  x9 = XEXP (x2, 0);
  if (GET_CODE (x9) != ZERO_EXTRACT
      || GET_MODE (x9) != SImode)
    return -1;
  x10 = XEXP (x9, 1);
  if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    return -1;
  x11 = XEXP (x9, 2);
  if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    return -1;
  x12 = XVECEXP (x1, 0, 0);
  x13 = XEXP (x12, 1);
  x14 = XEXP (x13, 0);
  if (GET_MODE (x14) != QImode)
    return -1;
  x15 = XEXP (x14, 0);
  x16 = XEXP (x15, 0);
  x17 = XEXP (x16, 0);
  operands[1] = x17;
  if (!ext_register_operand (operands[1], VOIDmode))
    return -1;
  x18 = XEXP (x14, 1);
  operands[2] = x18;
  if (!general_operand (operands[2], QImode))
    return -1;
  x19 = XEXP (x9, 0);
  operands[0] = x19;
  if (!ext_register_operand (operands[0], VOIDmode))
    return -1;
  x20 = XEXP (x6, 0);
  if (!rtx_equal_p (x20, operands[1]))
    return -1;
  x21 = XEXP (x4, 1);
  if (!rtx_equal_p (x21, operands[2]))
    return -1;
  return 0;
}

static int
pattern734 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (GET_CODE (x1) != CONST
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) != UNSPEC
      || XVECLEN (x2, 0) != 1
      || XINT (x2, 1) != 6
      || GET_MODE (x2) != i1)
    return -1;
  return 0;
}

static int
pattern735 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!nonimmediate_operand (operands[1], i1)
      || !const_int_operand (operands[2], i1)
      || !nonimmediate_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  return 0;
}

static int
pattern736 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1))
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) != i1)
    return -1;
  x4 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x4) != i1)
    return -1;
  x5 = XVECEXP (x4, 0, 0);
  if (GET_MODE (x5) != i1)
    return -1;
  return 0;
}

static int
pattern737 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2
      || !register_operand (operands[1], i2)
      || !vector_move_operand (operands[2], i2)
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern738 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !vector_operand (operands[1], i1)
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern739 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i1)
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern740 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  if (!rtx_equal_p (x2, operands[1]))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case V4SFmode:
      return pattern739 (x1, V4SFmode); /* [-1, 0] */

    case V2DFmode:
      if (pattern739 (x1, V2DFmode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern741 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XVECEXP (x2, 0, 0);
  operands[4] = x3;
  if (!const48_operand (operands[4], SImode))
    return -1;
  x4 = XVECEXP (x1, 0, 0);
  x5 = XEXP (x4, 1);
  return pattern740 (x5); /* [-1, 1] */
}

static int
pattern742 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[1], i1)
      || !register_operand (operands[2], i1)
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern743 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[1], i1)
      || !register_operand (operands[2], i1))
    return -1;
  x2 = XEXP (x1, 2);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern744 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i1)
      || !register_operand (operands[2], i1)
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern745 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !nonimmediate_operand (operands[1], i1)
      || !nonimmediate_operand (operands[2], i1))
    return -1;
  x3 = XEXP (x1, 2);
  if (GET_MODE (x3) != i1
      || !nonimmediate_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern746 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i1)
      || !register_operand (operands[2], i1))
    return -1;
  x3 = XEXP (x1, 2);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern747 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[1]))
    {
    case SImode:
      if (!nonimmediate_operand (operands[1], SImode)
          || !register_operand (operands[0], SImode)
          || GET_MODE (x1) != SImode)
        return -1;
      return 0;

    case DImode:
      if (!nonimmediate_operand (operands[1], DImode)
          || !register_operand (operands[0], DImode)
          || GET_MODE (x1) != DImode)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern748 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != CLOBBER)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != REG
      || REGNO (x3) != 17
      || GET_MODE (x3) != CCmode)
    return -1;
  x4 = XVECEXP (x1, 0, 0);
  x5 = XEXP (x4, 1);
  x6 = XEXP (x5, 1);
  operands[2] = x6;
  if (!x86_64_nonmemory_operand (operands[2], i1))
    return -1;
  x7 = XEXP (x5, 0);
  if (!rtx_equal_p (x7, operands[0]))
    return -1;
  x8 = XEXP (x4, 0);
  if (!rtx_equal_p (x8, operands[0]))
    return -1;
  x9 = PATTERN (peep2_next_insn (2));
  if (GET_CODE (x9) != SET)
    return -1;
  x10 = XEXP (x9, 1);
  if (!rtx_equal_p (x10, operands[0]))
    return -1;
  x11 = XEXP (x9, 0);
  if (!rtx_equal_p (x11, operands[1]))
    return -1;
  x12 = PATTERN (peep2_next_insn (3));
  if (GET_CODE (x12) != SET)
    return -1;
  x13 = XEXP (x12, 1);
  if (GET_CODE (x13) != COMPARE)
    return -1;
  x14 = XEXP (x13, 1);
  if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x15 = XEXP (x12, 0);
  if (GET_CODE (x15) != REG
      || REGNO (x15) != 17)
    return -1;
  x16 = XEXP (x13, 0);
  if (!rtx_equal_p (x16, operands[0]))
    return -1;
  return 0;
}

static int
pattern749 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!nonimmediate_operand (operands[1], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !const_int_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern750 (rtx x1, machine_mode i1, rtx_code i2, machine_mode i3, rtx_code i4)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (GET_CODE (x1) != i4
      || GET_MODE (x1) != i3)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) != i2
      || GET_MODE (x2) != i1)
    return -1;
  return 0;
}

static int
pattern751 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  switch (XWINT (x2, 0))
    {
    case 2LL:
      x3 = XVECEXP (x1, 0, 1);
      if (XWINT (x3, 0) != 6LL)
        return -1;
      x4 = XVECEXP (x1, 0, 2);
      if (XWINT (x4, 0) != 3LL)
        return -1;
      x5 = XVECEXP (x1, 0, 3);
      if (XWINT (x5, 0) != 7LL)
        return -1;
      return 0;

    case 0LL:
      x3 = XVECEXP (x1, 0, 1);
      if (XWINT (x3, 0) != 4LL)
        return -1;
      x4 = XVECEXP (x1, 0, 2);
      if (XWINT (x4, 0) != 1LL)
        return -1;
      x5 = XVECEXP (x1, 0, 3);
      if (XWINT (x5, 0) != 5LL)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern752 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], V4SFmode)
      || GET_MODE (x1) != V4SFmode)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != V4SFmode)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != V8SFmode
      || !vector_operand (operands[1], V4SFmode))
    return -1;
  x4 = XEXP (x1, 1);
  operands[2] = x4;
  if (!vector_move_operand (operands[2], V4SFmode))
    return -1;
  x5 = XEXP (x1, 2);
  operands[3] = x5;
  x6 = XEXP (x3, 1);
  if (!rtx_equal_p (x6, operands[1]))
    return -1;
  return 0;
}

static int
pattern753 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i2
      || !register_operand (operands[1], i1)
      || !nonimmediate_operand (operands[2], i1)
      || !vector_move_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern754 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i2
      || !register_operand (operands[1], i1)
      || !vector_operand (operands[2], i1)
      || !vector_move_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern755 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i2)
      || !vector_move_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern756 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !nonimmediate_operand (operands[1], i1)
      || !const_0_to_3_operand (operands[2], VOIDmode)
      || !const_0_to_3_operand (operands[3], VOIDmode)
      || !const_0_to_3_operand (operands[4], VOIDmode)
      || !const_0_to_3_operand (operands[5], VOIDmode)
      || !vector_move_operand (operands[6], i1))
    return -1;
  return 0;
}

static int
pattern757 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 4);
  operands[2] = x2;
  if (!const_4_to_7_operand (operands[2], VOIDmode))
    return -1;
  x3 = XVECEXP (x1, 0, 5);
  operands[3] = x3;
  if (!const_4_to_7_operand (operands[3], VOIDmode))
    return -1;
  x4 = XVECEXP (x1, 0, 6);
  operands[4] = x4;
  if (!const_4_to_7_operand (operands[4], VOIDmode))
    return -1;
  x5 = XVECEXP (x1, 0, 7);
  operands[5] = x5;
  if (!const_4_to_7_operand (operands[5], VOIDmode))
    return -1;
  return 0;
}

static int
pattern758 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i3)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != i3)
    return -1;
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != i3)
    return -1;
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) != i3
      || !vector_operand (operands[1], i2))
    return -1;
  x7 = XEXP (x5, 1);
  if (GET_MODE (x7) != i3
      || !vector_operand (operands[2], i2)
      || !const1_operand (operands[5], i2)
      || !vector_move_operand (operands[3], i2)
      || !register_operand (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern759 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!vsib_address_operand (operands[0], i1))
    return -1;
  switch (GET_MODE (operands[2]))
    {
    case V8SImode:
      if (!register_operand (operands[2], V8SImode))
        return -1;
      return 0;

    case V8DImode:
      if (!register_operand (operands[2], V8DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern760 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  if (!vsib_mem_operator (operands[5], i1))
    return -1;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[6], QImode)
      || !register_operand (operands[3], i1))
    return -1;
  x3 = XEXP (x1, 0);
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case SImode:
      return pattern759 (SImode); /* [-1, 1] */

    case DImode:
      res = pattern759 (DImode);
      if (res >= 0)
        return res + 2; /* [2, 3] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern761 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  if (!vsib_mem_operator (operands[5], i1))
    return -1;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[6], QImode))
    return -1;
  x3 = XEXP (x1, 0);
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case SImode:
      return 0;

    case DImode:
      return 1;

    default:
      return -1;
    }
}

static int
pattern762 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!vsib_address_operand (operands[0], i1))
    return -1;
  switch (GET_MODE (operands[2]))
    {
    case V4SImode:
      if (!register_operand (operands[2], V4SImode))
        return -1;
      return 0;

    case V4DImode:
      if (!register_operand (operands[2], V4DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern763 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  if (!vsib_mem_operator (operands[5], i1))
    return -1;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[6], QImode)
      || !register_operand (operands[3], i1))
    return -1;
  x3 = XEXP (x1, 0);
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case SImode:
      return pattern762 (SImode); /* [-1, 1] */

    case DImode:
      res = pattern762 (DImode);
      if (res >= 0)
        return res + 2; /* [2, 3] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern764 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!vsib_address_operand (operands[0], i1))
    return -1;
  switch (GET_MODE (operands[2]))
    {
    case V4SImode:
      if (!register_operand (operands[2], V4SImode))
        return -1;
      return 0;

    case V2DImode:
      if (!register_operand (operands[2], V2DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern765 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  if (!vsib_mem_operator (operands[5], i1))
    return -1;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[6], QImode)
      || !register_operand (operands[3], i1))
    return -1;
  x3 = XEXP (x1, 0);
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case SImode:
      return pattern764 (SImode); /* [-1, 1] */

    case DImode:
      res = pattern764 (DImode);
      if (res >= 0)
        return res + 2; /* [2, 3] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern766 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 2);
  if (XWINT (x2, 0) != 2LL)
    return -1;
  x3 = XVECEXP (x1, 0, 3);
  if (XWINT (x3, 0) != 2LL)
    return -1;
  x4 = XVECEXP (x1, 0, 4);
  if (XWINT (x4, 0) != 4LL)
    return -1;
  x5 = XVECEXP (x1, 0, 5);
  if (XWINT (x5, 0) != 4LL)
    return -1;
  x6 = XVECEXP (x1, 0, 6);
  if (XWINT (x6, 0) != 6LL)
    return -1;
  x7 = XVECEXP (x1, 0, 7);
  if (XWINT (x7, 0) != 6LL)
    return -1;
  return 0;
}

static int
pattern767 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], QImode)
      || GET_MODE (x1) != QImode)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != QImode
      || !const_0_to_31_operand (operands[3], SImode))
    return -1;
  return 0;
}

static int
pattern768 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[1], i1)
      || !register_operand (operands[2], i1)
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern769 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[1], i1)
      || !register_operand (operands[2], i1))
    return -1;
  x2 = XVECEXP (x1, 0, 2);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern770 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !nonimmediate_operand (operands[1], i1))
    return -1;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i1
      || !const_int_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern771 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1))
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) != i1
      || !memory_operand (operands[1], i1))
    return -1;
  x4 = XVECEXP (x1, 0, 1);
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) != i1
      || !nonmemory_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern772 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2
      || !register_operand (operands[1], i3)
      || !vector_move_operand (operands[2], i2)
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern773 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !vector_move_operand (operands[2], i1)
      || !register_operand (operands[3], QImode))
    return -1;
  switch (GET_MODE (operands[1]))
    {
    case V8SFmode:
      if (!nonimmediate_operand (operands[1], V8SFmode))
        return -1;
      return 0;

    case V8DFmode:
      if (!nonimmediate_operand (operands[1], V8DFmode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern774 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[2], i1))
    return -1;
  switch (GET_MODE (operands[1]))
    {
    case SImode:
      if (!register_operand (operands[1], SImode)
          || !register_operand (operands[0], SImode))
        return -1;
      x4 = XVECEXP (x1, 0, 1);
      x5 = XEXP (x4, 1);
      if (GET_MODE (x5) != SImode)
        return -1;
      return 0;

    case DImode:
      if (!register_operand (operands[1], DImode)
          || !register_operand (operands[0], DImode))
        return -1;
      x4 = XVECEXP (x1, 0, 1);
      x5 = XEXP (x4, 1);
      if (GET_MODE (x5) != DImode)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern775 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i2
      || !register_operand (operands[1], i1)
      || !nonimmediate_operand (operands[2], i1)
      || !const_0_to_3_operand (operands[3], VOIDmode)
      || !const_0_to_3_operand (operands[4], VOIDmode)
      || !const_4_to_7_operand (operands[5], VOIDmode)
      || !const_4_to_7_operand (operands[6], VOIDmode)
      || !vector_move_operand (operands[7], i1))
    return -1;
  return 0;
}

static int
pattern776 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i2
      || !register_operand (operands[1], i1)
      || !nonimmediate_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern777 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[6], i2)
      || !register_operand (operands[2], i1))
    return -1;
  switch (GET_MODE (x1))
    {
    case SImode:
      if (!vsib_address_operand (operands[3], SImode))
        return -1;
      return 0;

    case DImode:
      if (!vsib_address_operand (operands[3], DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern778 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2
      || !vsib_mem_operator (operands[5], i1))
    return -1;
  switch (GET_MODE (operands[6]))
    {
    case HImode:
      x2 = XVECEXP (x1, 0, 2);
      x3 = XEXP (x2, 0);
      return pattern777 (x3, V16SImode, HImode); /* [-1, 1] */

    case QImode:
      x2 = XVECEXP (x1, 0, 2);
      x3 = XEXP (x2, 0);
      res = pattern777 (x3, V8DImode, QImode);
      if (res >= 0)
        return res + 2; /* [2, 3] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern779 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!vsib_address_operand (operands[3], i1))
    return -1;
  switch (GET_MODE (operands[2]))
    {
    case V8SImode:
      if (!register_operand (operands[2], V8SImode))
        return -1;
      return 0;

    case V8DImode:
      if (!register_operand (operands[2], V8DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern780 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2
      || !register_operand (operands[6], QImode)
      || !vsib_mem_operator (operands[5], i1))
    return -1;
  x2 = XVECEXP (x1, 0, 2);
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      return pattern779 (SImode); /* [-1, 1] */

    case DImode:
      res = pattern779 (DImode);
      if (res >= 0)
        return res + 2; /* [2, 3] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern781 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!vsib_address_operand (operands[3], i1))
    return -1;
  switch (GET_MODE (operands[2]))
    {
    case V8SImode:
      if (!register_operand (operands[2], V8SImode))
        return -1;
      return 0;

    case V4DImode:
      if (!register_operand (operands[2], V4DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern782 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2
      || !register_operand (operands[6], QImode)
      || !vsib_mem_operator (operands[5], i1))
    return -1;
  x2 = XVECEXP (x1, 0, 2);
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      return pattern781 (SImode); /* [-1, 1] */

    case DImode:
      res = pattern781 (DImode);
      if (res >= 0)
        return res + 2; /* [2, 3] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern783 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!vsib_address_operand (operands[3], i1))
    return -1;
  switch (GET_MODE (operands[2]))
    {
    case V4SImode:
      if (!register_operand (operands[2], V4SImode))
        return -1;
      return 0;

    case V4DImode:
      if (!register_operand (operands[2], V4DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern784 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2
      || !register_operand (operands[6], QImode)
      || !vsib_mem_operator (operands[5], i1))
    return -1;
  x2 = XVECEXP (x1, 0, 2);
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      return pattern783 (SImode); /* [-1, 1] */

    case DImode:
      res = pattern783 (DImode);
      if (res >= 0)
        return res + 2; /* [2, 3] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern785 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!vsib_address_operand (operands[3], i1))
    return -1;
  switch (GET_MODE (operands[2]))
    {
    case V4SImode:
      if (!register_operand (operands[2], V4SImode))
        return -1;
      return 0;

    case V2DImode:
      if (!register_operand (operands[2], V2DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern786 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2
      || !register_operand (operands[6], QImode)
      || !vsib_mem_operator (operands[5], i1))
    return -1;
  x2 = XVECEXP (x1, 0, 2);
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      return pattern785 (SImode); /* [-1, 1] */

    case DImode:
      res = pattern785 (DImode);
      if (res >= 0)
        return res + 2; /* [2, 3] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern787 ()
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!const_0_to_7_operand (operands[4], VOIDmode)
      || !const_0_to_7_operand (operands[5], VOIDmode)
      || !const_0_to_7_operand (operands[6], VOIDmode)
      || !const_8_to_15_operand (operands[7], VOIDmode)
      || !const_8_to_15_operand (operands[8], VOIDmode)
      || !const_8_to_15_operand (operands[9], VOIDmode)
      || !const_8_to_15_operand (operands[10], VOIDmode))
    return -1;
  return 0;
}

static int
pattern788 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2
      || !register_operand (operands[1], i1)
      || !nonimmediate_operand (operands[2], i1)
      || !const_0_to_7_operand (operands[3], VOIDmode)
      || pattern787 () != 0)
    return -1;
  return 0;
}

static int
pattern789 (rtx x1, int i1, int i2, int i3, int i4)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  if (XVECLEN (x1, 0) != 4)
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + i4])
    return -1;
  x3 = XVECEXP (x1, 0, 1);
  if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
    return -1;
  x4 = XVECEXP (x1, 0, 2);
  if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
    return -1;
  x5 = XVECEXP (x1, 0, 3);
  if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
    return -1;
  return 0;
}

static int
pattern790 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!nonimmediate_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !ix86_carry_flag_operator (operands[4], i1)
      || !nonimmediate_operand (operands[1], i1)
      || !general_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern791 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!nonimmediate_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !ix86_carry_flag_operator (operands[4], i1)
      || !nonimmediate_operand (operands[1], i1)
      || !x86_64_general_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern792 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!nonimmediate_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !nonimmediate_operand (operands[1], i1)
      || !ix86_carry_flag_operator (operands[4], i1)
      || !general_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern793 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!nonimmediate_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !nonimmediate_operand (operands[1], i1)
      || !ix86_carry_flag_operator (operands[4], i1)
      || !x86_64_general_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern794 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!nonimmediate_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x1, 1);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern795 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 1);
  if (!rtx_equal_p (x4, operands[2]))
    return -1;
  x5 = XEXP (x3, 0);
  switch (XWINT (x5, 0))
    {
    case 64LL:
      return pattern794 (x1, DImode); /* [-1, 0] */

    case 32LL:
      if (pattern794 (x1, SImode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern796 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2
      || !register_operand (operands[1], i2)
      || !register_operand (operands[2], i2)
      || !nonimmediate_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern797 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1))
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) != i1)
    return -1;
  x4 = XVECEXP (x1, 0, 1);
  if (GET_MODE (x4) != i1)
    return -1;
  x5 = XVECEXP (x4, 0, 1);
  if (GET_MODE (x5) != i1)
    return -1;
  return 0;
}

static int
pattern798 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !nonimmediate_operand (operands[1], i1))
    return -1;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[2], i1)
      || !const_int_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern799 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || !addsub_vs_operator (operands[7], i1)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i1)
      || !vector_operand (operands[2], i1))
    return -1;
  x3 = XEXP (x1, 1);
  if (GET_MODE (x3) != i1
      || !vector_operand (operands[3], i1)
      || !vector_operand (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern800 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || !addsub_vs_operator (operands[7], i1)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !vector_operand (operands[1], i1)
      || !vector_operand (operands[2], i1))
    return -1;
  x3 = XEXP (x1, 1);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[3], i1)
      || !vector_operand (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern801 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i2)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != i2)
    return -1;
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != i2
      || !nonimmediate_operand (operands[1], i1))
    return -1;
  x6 = XEXP (x4, 1);
  if (GET_MODE (x6) != i2
      || !nonimmediate_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern802 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 2);
  if (XWINT (x2, 0) != 2LL)
    return -1;
  x3 = XVECEXP (x1, 0, 3);
  if (XWINT (x3, 0) != 2LL)
    return -1;
  x4 = XVECEXP (x1, 0, 4);
  if (XWINT (x4, 0) != 4LL)
    return -1;
  x5 = XVECEXP (x1, 0, 5);
  if (XWINT (x5, 0) != 4LL)
    return -1;
  x6 = XVECEXP (x1, 0, 6);
  if (XWINT (x6, 0) != 6LL)
    return -1;
  x7 = XVECEXP (x1, 0, 7);
  if (XWINT (x7, 0) != 6LL)
    return -1;
  return 0;
}

static int
pattern803 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[1], i1)
      || !const_0_to_15_operand (operands[2], VOIDmode)
      || !const_0_to_15_operand (operands[3], VOIDmode)
      || !const_0_to_15_operand (operands[4], VOIDmode)
      || !const_0_to_15_operand (operands[5], VOIDmode))
    return -1;
  return 0;
}

static int
pattern804 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2
      || !register_operand (operands[1], i1)
      || !register_operand (operands[3], QImode))
    return -1;
  return 0;
}

static int
pattern805 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[1], i1)
      || !register_operand (operands[2], i1)
      || !vector_operand (operands[3], i2)
      || !const0_operand (operands[5], i1))
    return -1;
  return 0;
}

static int
pattern806 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i2
      || !register_operand (operands[1], i2)
      || !register_operand (operands[2], i2)
      || !vector_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern807 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i3)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != i3)
    return -1;
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != i3)
    return -1;
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) != i3)
    return -1;
  x7 = XEXP (x6, 0);
  if (GET_MODE (x7) != i3
      || !vector_operand (operands[1], i2))
    return -1;
  x8 = XEXP (x6, 1);
  if (GET_MODE (x8) != i3
      || !vector_operand (operands[2], i2)
      || !const1_operand (operands[3], i2)
      || !vector_move_operand (operands[4], i2)
      || !register_operand (operands[5], i1))
    return -1;
  return 0;
}

static int
pattern808 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!vsib_address_operand (operands[4], i1))
    return -1;
  switch (GET_MODE (operands[3]))
    {
    case V8SImode:
      if (!register_operand (operands[3], V8SImode))
        return -1;
      return 0;

    case V8DImode:
      if (!register_operand (operands[3], V8DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern809 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2
      || !register_operand (operands[1], i2)
      || !register_operand (operands[7], QImode)
      || !vsib_mem_operator (operands[6], i1))
    return -1;
  x2 = XVECEXP (x1, 0, 2);
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      return pattern808 (SImode); /* [-1, 1] */

    case DImode:
      res = pattern808 (DImode);
      if (res >= 0)
        return res + 2; /* [2, 3] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern810 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2
      || !register_operand (operands[7], QImode)
      || !vsib_mem_operator (operands[6], i1))
    return -1;
  return 0;
}

static int
pattern811 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!vsib_address_operand (operands[4], i1))
    return -1;
  switch (GET_MODE (operands[3]))
    {
    case V4SImode:
      if (!register_operand (operands[3], V4SImode))
        return -1;
      return 0;

    case V4DImode:
      if (!register_operand (operands[3], V4DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern812 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2
      || !register_operand (operands[1], i2)
      || !register_operand (operands[7], QImode)
      || !vsib_mem_operator (operands[6], i1))
    return -1;
  x2 = XVECEXP (x1, 0, 2);
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      return pattern811 (SImode); /* [-1, 1] */

    case DImode:
      res = pattern811 (DImode);
      if (res >= 0)
        return res + 2; /* [2, 3] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern813 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!vsib_address_operand (operands[4], i1))
    return -1;
  switch (GET_MODE (operands[3]))
    {
    case V4SImode:
      if (!register_operand (operands[3], V4SImode))
        return -1;
      return 0;

    case V2DImode:
      if (!register_operand (operands[3], V2DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern814 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2
      || !register_operand (operands[1], i2)
      || !register_operand (operands[7], QImode)
      || !vsib_mem_operator (operands[6], i1))
    return -1;
  x2 = XVECEXP (x1, 0, 2);
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      return pattern813 (SImode); /* [-1, 1] */

    case DImode:
      res = pattern813 (DImode);
      if (res >= 0)
        return res + 2; /* [2, 3] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern815 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern816 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2
      || !bnd_mem_operator (operands[3], i1))
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i1
      || !address_mpx_no_index_operand (operands[1], i1)
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern817 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i1)
      || !nonimmediate_operand (operands[2], i1)
      || !vector_move_operand (operands[3], i1)
      || !register_operand (operands[4], i2))
    return -1;
  return 0;
}

static int
pattern818 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!nonimmediate_operand (operands[1], i1)
      || !register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern819 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[2], i1)
      || !register_operand (operands[3], i1)
      || !register_operand (operands[0], i1))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[1], i1))
    return -1;
  x4 = XVECEXP (x1, 0, 2);
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) != i1)
    return -1;
  return 0;
}

static int
pattern820 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i1)
    return -1;
  x4 = XEXP (x2, 1);
  if (GET_MODE (x4) != i1)
    return -1;
  switch (GET_MODE (operands[2]))
    {
    case SImode:
      return pattern819 (x1, SImode); /* [-1, 0] */

    case DImode:
      if (pattern819 (x1, DImode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern821 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!vsib_address_operand (operands[0], i1))
    return -1;
  switch (GET_MODE (operands[2]))
    {
    case V16SImode:
      if (!register_operand (operands[2], V16SImode)
          || !register_operand (operands[6], HImode)
          || !register_operand (operands[3], V16SImode))
        return -1;
      return 0;

    case V8DImode:
      if (!register_operand (operands[2], V8DImode)
          || !register_operand (operands[6], QImode)
          || !register_operand (operands[3], V8SImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern822 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!vsib_address_operand (operands[0], i1))
    return -1;
  switch (GET_MODE (operands[2]))
    {
    case V16SImode:
      if (!register_operand (operands[2], V16SImode)
          || !register_operand (operands[6], HImode)
          || !register_operand (operands[3], V16SFmode))
        return -1;
      return 0;

    case V8DImode:
      if (!register_operand (operands[2], V8DImode)
          || !register_operand (operands[6], QImode)
          || !register_operand (operands[3], V8SFmode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern823 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!nonimmediate_operand (operands[1], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !const_int_operand (operands[3], i1)
      || !scratch_operand (operands[0], i1))
    return -1;
  return 0;
}

static int
pattern824 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2))
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) != i2
      || !nonimmediate_operand (operands[2], i2)
      || !nonimmediate_operand (operands[3], i2)
      || !register_operand (operands[1], i2))
    return -1;
  x4 = XVECEXP (x1, 0, 1);
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) != i2)
    return -1;
  x6 = XEXP (x5, 0);
  if (GET_MODE (x6) != i1)
    return -1;
  x7 = XEXP (x6, 0);
  if (GET_MODE (x7) != i1)
    return -1;
  x8 = XEXP (x7, 0);
  if (GET_MODE (x8) != i1)
    return -1;
  x9 = XEXP (x7, 1);
  if (GET_MODE (x9) != i1)
    return -1;
  return 0;
}

static int
pattern825 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!vsib_address_operand (operands[0], i1))
    return -1;
  switch (GET_MODE (operands[2]))
    {
    case V8SImode:
      if (!register_operand (operands[2], V8SImode))
        return -1;
      return 0;

    case V8DImode:
      if (!register_operand (operands[2], V8DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern826 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  if (!vsib_mem_operator (operands[5], i1))
    return -1;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[6], QImode)
      || !register_operand (operands[3], i1)
      || !scratch_operand (operands[1], QImode))
    return -1;
  x3 = XEXP (x1, 0);
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case SImode:
      return pattern825 (SImode); /* [-1, 1] */

    case DImode:
      res = pattern825 (DImode);
      if (res >= 0)
        return res + 2; /* [2, 3] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern827 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  if (!vsib_mem_operator (operands[5], i1))
    return -1;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[6], QImode)
      || !scratch_operand (operands[1], QImode))
    return -1;
  x3 = XEXP (x1, 0);
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case SImode:
      return 0;

    case DImode:
      return 1;

    default:
      return -1;
    }
}

static int
pattern828 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!vsib_address_operand (operands[0], i1))
    return -1;
  switch (GET_MODE (operands[2]))
    {
    case V4SImode:
      if (!register_operand (operands[2], V4SImode))
        return -1;
      return 0;

    case V4DImode:
      if (!register_operand (operands[2], V4DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern829 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  if (!vsib_mem_operator (operands[5], i1))
    return -1;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[6], QImode)
      || !register_operand (operands[3], i1)
      || !scratch_operand (operands[1], QImode))
    return -1;
  x3 = XEXP (x1, 0);
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case SImode:
      return pattern828 (SImode); /* [-1, 1] */

    case DImode:
      res = pattern828 (DImode);
      if (res >= 0)
        return res + 2; /* [2, 3] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern830 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!vsib_address_operand (operands[0], i1))
    return -1;
  switch (GET_MODE (operands[2]))
    {
    case V4SImode:
      if (!register_operand (operands[2], V4SImode))
        return -1;
      return 0;

    case V2DImode:
      if (!register_operand (operands[2], V2DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern831 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  if (!vsib_mem_operator (operands[5], i1))
    return -1;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[6], QImode)
      || !register_operand (operands[3], i1)
      || !scratch_operand (operands[1], QImode))
    return -1;
  x3 = XEXP (x1, 0);
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case SImode:
      return pattern830 (SImode); /* [-1, 1] */

    case DImode:
      res = pattern830 (DImode);
      if (res >= 0)
        return res + 2; /* [2, 3] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern832 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i1)
      || !nonimmediate_operand (operands[2], i1)
      || !register_operand (operands[4], i2))
    return -1;
  return 0;
}

static int
pattern833 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i1)
      || !nonimmediate_operand (operands[2], i1))
    return -1;
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[4], i2))
    return -1;
  return 0;
}

static int
pattern834 (machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[2], i2)
      || !register_operand (operands[3], i2)
      || !const0_operand (operands[4], i2)
      || !register_operand (operands[5], i1))
    return -1;
  return 0;
}

static int
pattern835 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2
      || !register_operand (operands[1], i2)
      || pattern834 (i1, i2) != 0)
    return -1;
  return 0;
}

static int
pattern836 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2
      || !register_operand (operands[1], i2)
      || !nonimmediate_operand (operands[2], i2)
      || !register_operand (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern837 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i1)
      || !nonimmediate_operand (operands[2], i1)
      || !register_operand (operands[3], i1)
      || !register_operand (operands[4], QImode))
    return -1;
  x3 = XEXP (x1, 1);
  if (!rtx_equal_p (x3, operands[3]))
    return -1;
  return 0;
}

static int
pattern838 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[2], i2)
      || GET_MODE (x1) != i2
      || !register_operand (operands[3], i2)
      || !const0_operand (operands[4], i2)
      || !register_operand (operands[5], i1))
    return -1;
  return 0;
}

static int
pattern839 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2
      || !register_operand (operands[1], i2))
    return -1;
  x3 = XEXP (x2, 2);
  return pattern838 (x3, i1, i2); /* [-1, 0] */
}

static int
pattern840 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2
      || !register_operand (operands[1], i2)
      || !nonimmediate_operand (operands[2], i2))
    return -1;
  x3 = XEXP (x2, 2);
  if (GET_MODE (x3) != i2
      || !register_operand (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern841 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i1)
      || !nonimmediate_operand (operands[2], i1))
    return -1;
  x3 = XEXP (x2, 2);
  if (GET_MODE (x3) != i1
      || !nonimmediate_operand (operands[3], i1)
      || !register_operand (operands[4], QImode))
    return -1;
  x4 = XEXP (x1, 1);
  if (!rtx_equal_p (x4, operands[1]))
    return -1;
  return 0;
}

static int
pattern842 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i2
      || !register_operand (operands[1], i2)
      || pattern834 (i1, i2) != 0)
    return -1;
  return 0;
}

static int
pattern843 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i2
      || !register_operand (operands[1], i2)
      || !nonimmediate_operand (operands[2], i2)
      || !register_operand (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern844 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i1
      || !nonimmediate_operand (operands[1], i1)
      || !nonimmediate_operand (operands[2], i1))
    return -1;
  x4 = XEXP (x2, 2);
  if (GET_MODE (x4) != i1
      || !nonimmediate_operand (operands[3], i1)
      || !const0_operand (operands[4], i1)
      || !register_operand (operands[5], QImode))
    return -1;
  return 0;
}

static int
pattern845 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i2
      || !register_operand (operands[1], i2))
    return -1;
  x4 = XEXP (x2, 2);
  return pattern838 (x4, i1, i2); /* [-1, 0] */
}

static int
pattern846 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i2
      || !register_operand (operands[1], i2)
      || !nonimmediate_operand (operands[2], i2))
    return -1;
  x4 = XEXP (x2, 2);
  if (GET_MODE (x4) != i2
      || !register_operand (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern847 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[1], i1)
      || !nonimmediate_operand (operands[2], i1))
    return -1;
  x4 = XEXP (x2, 2);
  if (GET_MODE (x4) != i1
      || !register_operand (operands[3], i1)
      || !register_operand (operands[4], QImode))
    return -1;
  x5 = XEXP (x1, 1);
  if (!rtx_equal_p (x5, operands[3]))
    return -1;
  return 0;
}

static int
pattern848 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i1)
    return -1;
  x4 = XEXP (x2, 1);
  if (GET_MODE (x4) != i1)
    return -1;
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != i1)
    return -1;
  x6 = XVECEXP (x1, 0, 1);
  x7 = XEXP (x6, 0);
  if (GET_MODE (x7) != i1)
    return -1;
  x8 = XEXP (x6, 1);
  if (GET_MODE (x8) != i1)
    return -1;
  x9 = XEXP (x8, 0);
  if (GET_MODE (x9) != i1)
    return -1;
  return 0;
}

static int
pattern849 (rtx x1, unsigned int i1, unsigned int i2, unsigned int i3, unsigned int i4, unsigned int i5)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 4);
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != XFmode)
    return -1;
  x4 = XVECEXP (x1, 0, 5);
  if (GET_CODE (x4) != CLOBBER)
    return -1;
  x5 = XEXP (x4, 0);
  if (GET_CODE (x5) != REG
      || REGNO (x5) != i5
      || GET_MODE (x5) != XFmode)
    return -1;
  x6 = XVECEXP (x1, 0, 6);
  if (GET_CODE (x6) != CLOBBER)
    return -1;
  x7 = XEXP (x6, 0);
  if (GET_CODE (x7) != REG
      || REGNO (x7) != i4
      || GET_MODE (x7) != XFmode)
    return -1;
  x8 = XVECEXP (x1, 0, 7);
  if (GET_CODE (x8) != CLOBBER)
    return -1;
  x9 = XEXP (x8, 0);
  if (GET_CODE (x9) != REG
      || REGNO (x9) != i3
      || GET_MODE (x9) != XFmode)
    return -1;
  x10 = XVECEXP (x1, 0, 8);
  if (GET_CODE (x10) != CLOBBER)
    return -1;
  x11 = XEXP (x10, 0);
  if (GET_CODE (x11) != REG
      || REGNO (x11) != i2
      || GET_MODE (x11) != XFmode)
    return -1;
  x12 = XVECEXP (x1, 0, 9);
  if (GET_CODE (x12) != CLOBBER)
    return -1;
  x13 = XEXP (x12, 0);
  if (GET_CODE (x13) != REG
      || REGNO (x13) != i1
      || GET_MODE (x13) != XFmode)
    return -1;
  return 0;
}

static int
pattern850 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i2
      || !nonimmediate_operand (operands[1], i1)
      || !nonimmediate_operand (operands[2], i1)
      || !vector_move_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern851 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!vsib_address_operand (operands[0], i1))
    return -1;
  switch (GET_MODE (operands[2]))
    {
    case V8SImode:
      if (!register_operand (operands[2], V8SImode)
          || !register_operand (operands[3], V8SImode))
        return -1;
      return 0;

    case V4DImode:
      if (!register_operand (operands[2], V4DImode)
          || !register_operand (operands[3], V4SImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern852 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!vsib_address_operand (operands[0], i1))
    return -1;
  switch (GET_MODE (operands[2]))
    {
    case V8SImode:
      if (!register_operand (operands[2], V8SImode)
          || !register_operand (operands[3], V8SFmode))
        return -1;
      return 0;

    case V4DImode:
      if (!register_operand (operands[2], V4DImode)
          || !register_operand (operands[3], V4SFmode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern853 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!vsib_address_operand (operands[2], i1))
    return -1;
  switch (GET_MODE (operands[3]))
    {
    case V4SImode:
      if (!register_operand (operands[3], V4SImode))
        return -1;
      return 0;

    case V2DImode:
      if (!register_operand (operands[3], V2DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern854 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !vsib_mem_operator (operands[6], i2)
      || !register_operand (operands[4], i1))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      return pattern853 (SImode); /* [-1, 1] */

    case DImode:
      res = pattern853 (DImode);
      if (res >= 0)
        return res + 2; /* [2, 3] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern855 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!vsib_address_operand (operands[2], i1))
    return -1;
  switch (GET_MODE (operands[3]))
    {
    case V4SImode:
      if (!register_operand (operands[3], V4SImode))
        return -1;
      return 0;

    case V4DImode:
      if (!register_operand (operands[3], V4DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern856 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !vsib_mem_operator (operands[6], i2)
      || !register_operand (operands[4], i1))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      return pattern855 (SImode); /* [-1, 1] */

    case DImode:
      res = pattern855 (DImode);
      if (res >= 0)
        return res + 2; /* [2, 3] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern857 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2
      || !vsib_mem_operator (operands[6], i1))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      return 0;

    case DImode:
      return 1;

    default:
      return -1;
    }
}

static int
pattern858 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[6], i1)
      || !register_operand (operands[2], i2)
      || !scratch_operand (operands[1], i1))
    return -1;
  switch (GET_MODE (x1))
    {
    case SImode:
      if (!vsib_address_operand (operands[3], SImode))
        return -1;
      return 0;

    case DImode:
      if (!vsib_address_operand (operands[3], DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern859 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2
      || !vsib_mem_operator (operands[5], i1))
    return -1;
  switch (GET_MODE (operands[6]))
    {
    case HImode:
      x2 = XVECEXP (x1, 0, 2);
      x3 = XEXP (x2, 0);
      return pattern858 (x3, HImode, V16SImode); /* [-1, 1] */

    case QImode:
      x2 = XVECEXP (x1, 0, 2);
      x3 = XEXP (x2, 0);
      res = pattern858 (x3, QImode, V8DImode);
      if (res >= 0)
        return res + 2; /* [2, 3] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern860 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!vsib_address_operand (operands[3], i1))
    return -1;
  switch (GET_MODE (operands[2]))
    {
    case V8SImode:
      if (!register_operand (operands[2], V8SImode))
        return -1;
      return 0;

    case V8DImode:
      if (!register_operand (operands[2], V8DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern861 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2
      || !register_operand (operands[6], QImode)
      || !vsib_mem_operator (operands[5], i1)
      || !scratch_operand (operands[1], QImode))
    return -1;
  x2 = XVECEXP (x1, 0, 2);
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      return pattern860 (SImode); /* [-1, 1] */

    case DImode:
      res = pattern860 (DImode);
      if (res >= 0)
        return res + 2; /* [2, 3] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern862 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!vsib_address_operand (operands[3], i1))
    return -1;
  switch (GET_MODE (operands[2]))
    {
    case V8SImode:
      if (!register_operand (operands[2], V8SImode))
        return -1;
      return 0;

    case V4DImode:
      if (!register_operand (operands[2], V4DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern863 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2
      || !register_operand (operands[6], QImode)
      || !vsib_mem_operator (operands[5], i1)
      || !scratch_operand (operands[1], QImode))
    return -1;
  x2 = XVECEXP (x1, 0, 2);
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      return pattern862 (SImode); /* [-1, 1] */

    case DImode:
      res = pattern862 (DImode);
      if (res >= 0)
        return res + 2; /* [2, 3] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern864 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!vsib_address_operand (operands[3], i1))
    return -1;
  switch (GET_MODE (operands[2]))
    {
    case V4SImode:
      if (!register_operand (operands[2], V4SImode))
        return -1;
      return 0;

    case V4DImode:
      if (!register_operand (operands[2], V4DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern865 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2
      || !register_operand (operands[6], QImode)
      || !vsib_mem_operator (operands[5], i1)
      || !scratch_operand (operands[1], QImode))
    return -1;
  x2 = XVECEXP (x1, 0, 2);
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      return pattern864 (SImode); /* [-1, 1] */

    case DImode:
      res = pattern864 (DImode);
      if (res >= 0)
        return res + 2; /* [2, 3] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern866 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!vsib_address_operand (operands[3], i1))
    return -1;
  switch (GET_MODE (operands[2]))
    {
    case V4SImode:
      if (!register_operand (operands[2], V4SImode))
        return -1;
      return 0;

    case V2DImode:
      if (!register_operand (operands[2], V2DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern867 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2
      || !register_operand (operands[6], QImode)
      || !vsib_mem_operator (operands[5], i1)
      || !scratch_operand (operands[1], QImode))
    return -1;
  x2 = XVECEXP (x1, 0, 2);
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      return pattern866 (SImode); /* [-1, 1] */

    case DImode:
      res = pattern866 (DImode);
      if (res >= 0)
        return res + 2; /* [2, 3] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern868 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2
      || !register_operand (operands[1], i2)
      || !register_operand (operands[2], i2)
      || !register_operand (operands[3], i2)
      || !const0_operand (operands[4], i2)
      || !register_operand (operands[5], i1))
    return -1;
  return 0;
}

static int
pattern869 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2
      || !register_operand (operands[1], i2)
      || !register_operand (operands[2], i2))
    return -1;
  x3 = XVECEXP (x2, 0, 2);
  if (GET_MODE (x3) != i2
      || !register_operand (operands[3], i2)
      || !const0_operand (operands[4], i2)
      || !register_operand (operands[5], i1))
    return -1;
  return 0;
}

static int
pattern870 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2
      || !register_operand (operands[1], i2)
      || !register_operand (operands[2], i2)
      || !vector_move_operand (operands[4], i2)
      || !register_operand (operands[5], i1))
    return -1;
  return 0;
}

static int
pattern871 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i1)
      || !register_operand (operands[2], i1)
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern872 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i1)
      || !register_operand (operands[2], i1))
    return -1;
  x3 = XEXP (x2, 2);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern873 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[2], i1)
      || !register_operand (operands[1], i1)
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern874 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[2], i1)
      || !register_operand (operands[1], i1))
    return -1;
  x4 = XEXP (x2, 2);
  if (GET_MODE (x4) != i1
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern875 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != CLOBBER)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != REG
      || REGNO (x3) != 17
      || GET_MODE (x3) != CCmode)
    return -1;
  x4 = XVECEXP (x1, 0, 0);
  x5 = XEXP (x4, 0);
  operands[3] = x5;
  if (!any_QIreg_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern876 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i2
      || !register_operand (operands[1], i1)
      || !nonimmediate_operand (operands[2], i1)
      || !vector_move_operand (operands[11], i1))
    return -1;
  return 0;
}

static int
pattern877 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i2
      || !register_operand (operands[1], i1)
      || !nonimmediate_operand (operands[2], i1)
      || !const_0_to_7_operand (operands[3], VOIDmode)
      || !const_0_to_7_operand (operands[4], VOIDmode)
      || !const_0_to_7_operand (operands[5], VOIDmode)
      || !const_0_to_7_operand (operands[6], VOIDmode)
      || !const_8_to_15_operand (operands[7], VOIDmode)
      || !const_8_to_15_operand (operands[8], VOIDmode)
      || !const_8_to_15_operand (operands[9], VOIDmode)
      || !const_8_to_15_operand (operands[10], VOIDmode)
      || !vector_move_operand (operands[11], i1))
    return -1;
  return 0;
}

static int
pattern878 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!vsib_address_operand (operands[3], i1))
    return -1;
  switch (GET_MODE (operands[4]))
    {
    case V4SImode:
      if (!register_operand (operands[4], V4SImode))
        return -1;
      return 0;

    case V2DImode:
      if (!register_operand (operands[4], V2DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern879 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[2], i1)
      || !vsib_mem_operator (operands[7], i2)
      || !register_operand (operands[5], i1))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      return pattern878 (SImode); /* [-1, 1] */

    case DImode:
      res = pattern878 (DImode);
      if (res >= 0)
        return res + 2; /* [2, 3] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern880 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!vsib_address_operand (operands[3], i1))
    return -1;
  switch (GET_MODE (operands[4]))
    {
    case V4SImode:
      if (!register_operand (operands[4], V4SImode))
        return -1;
      return 0;

    case V4DImode:
      if (!register_operand (operands[4], V4DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern881 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[2], i1)
      || !vsib_mem_operator (operands[7], i2)
      || !register_operand (operands[5], i1))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      return pattern880 (SImode); /* [-1, 1] */

    case DImode:
      res = pattern880 (DImode);
      if (res >= 0)
        return res + 2; /* [2, 3] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern882 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case SFmode:
      if (!register_operand (operands[0], V4SFmode))
        return -1;
      x3 = XEXP (x1, 1);
      if (GET_MODE (x3) != SFmode
          || !register_operand (operands[1], V4SFmode))
        return -1;
      return 0;

    case DFmode:
      if (!register_operand (operands[0], V2DFmode))
        return -1;
      x3 = XEXP (x1, 1);
      if (GET_MODE (x3) != DFmode
          || !register_operand (operands[1], V2DFmode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern883 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!memory_operand (operands[0], i1)
      || !const_int_operand (operands[2], i1)
      || GET_MODE (x1) != i1
      || !const_int_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern884 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], SImode)
      || GET_MODE (x1) != SImode)
    return -1;
  x2 = XEXP (x1, 0);
  x3 = XVECEXP (x2, 0, 0);
  operands[3] = x3;
  if (!tls_modbase_operand (operands[3], VOIDmode))
    return -1;
  x4 = XVECEXP (x2, 0, 1);
  operands[4] = x4;
  x5 = XVECEXP (x2, 0, 2);
  operands[2] = x5;
  if (!register_operand (operands[2], SImode))
    return -1;
  return 0;
}

static int
pattern885 ()
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[1]))
    {
    case V4SFmode:
      if (!register_operand (operands[1], V4SFmode)
          || !register_operand (operands[2], V4SFmode))
        return -1;
      return 0;

    case V2DFmode:
      if (!register_operand (operands[1], V2DFmode)
          || !register_operand (operands[2], V2DFmode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern886 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!vsib_address_operand (operands[4], i1))
    return -1;
  switch (GET_MODE (operands[3]))
    {
    case V8SImode:
      if (!register_operand (operands[3], V8SImode))
        return -1;
      return 0;

    case V8DImode:
      if (!register_operand (operands[3], V8DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern887 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2
      || !register_operand (operands[1], i2)
      || !register_operand (operands[7], QImode)
      || !vsib_mem_operator (operands[6], i1)
      || !scratch_operand (operands[2], QImode))
    return -1;
  x2 = XVECEXP (x1, 0, 2);
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      return pattern886 (SImode); /* [-1, 1] */

    case DImode:
      res = pattern886 (DImode);
      if (res >= 0)
        return res + 2; /* [2, 3] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern888 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2
      || !register_operand (operands[7], QImode)
      || !vsib_mem_operator (operands[6], i1)
      || !scratch_operand (operands[2], QImode))
    return -1;
  return 0;
}

static int
pattern889 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!vsib_address_operand (operands[4], i1))
    return -1;
  switch (GET_MODE (operands[3]))
    {
    case V4SImode:
      if (!register_operand (operands[3], V4SImode))
        return -1;
      return 0;

    case V4DImode:
      if (!register_operand (operands[3], V4DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern890 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2
      || !register_operand (operands[1], i2)
      || !register_operand (operands[7], QImode)
      || !vsib_mem_operator (operands[6], i1)
      || !scratch_operand (operands[2], QImode))
    return -1;
  x2 = XVECEXP (x1, 0, 2);
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      return pattern889 (SImode); /* [-1, 1] */

    case DImode:
      res = pattern889 (DImode);
      if (res >= 0)
        return res + 2; /* [2, 3] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern891 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!vsib_address_operand (operands[4], i1))
    return -1;
  switch (GET_MODE (operands[3]))
    {
    case V4SImode:
      if (!register_operand (operands[3], V4SImode))
        return -1;
      return 0;

    case V2DImode:
      if (!register_operand (operands[3], V2DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern892 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2
      || !register_operand (operands[1], i2)
      || !register_operand (operands[7], QImode)
      || !vsib_mem_operator (operands[6], i1)
      || !scratch_operand (operands[2], QImode))
    return -1;
  x2 = XVECEXP (x1, 0, 2);
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      return pattern891 (SImode); /* [-1, 1] */

    case DImode:
      res = pattern891 (DImode);
      if (res >= 0)
        return res + 2; /* [2, 3] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern893 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[1], i1)
      || !register_operand (operands[2], i1)
      || !nonimmediate_operand (operands[3], i2)
      || !const0_operand (operands[5], i1)
      || !register_operand (operands[6], i3))
    return -1;
  return 0;
}

static int
pattern894 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!bnd_mem_operator (operands[3], i2)
      || GET_MODE (x1) != i2
      || !address_mpx_no_index_operand (operands[0], i2)
      || !register_operand (operands[1], i2)
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern895 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2
      || !nonimmediate_operand (operands[1], i1))
    return -1;
  x3 = XEXP (x2, 1);
  if (!rtx_equal_p (x3, operands[1]))
    return -1;
  return 0;
}

static int
pattern896 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case HImode:
      if (!memory_operand (operands[0], HImode))
        return -1;
      x5 = XVECEXP (x1, 0, 1);
      x6 = XEXP (x5, 0);
      if (GET_MODE (x6) != HImode
          || !nonmemory_operand (operands[1], HImode))
        return -1;
      return 0;

    case SImode:
      if (!memory_operand (operands[0], SImode))
        return -1;
      x5 = XVECEXP (x1, 0, 1);
      x6 = XEXP (x5, 0);
      if (GET_MODE (x6) != SImode
          || !nonmemory_operand (operands[1], SImode))
        return -1;
      return 1;

    case DImode:
      if (!memory_operand (operands[0], DImode))
        return -1;
      x5 = XVECEXP (x1, 0, 1);
      x6 = XEXP (x5, 0);
      if (GET_MODE (x6) != DImode
          || !nonmemory_operand (operands[1], DImode))
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern897 (machine_mode i1, machine_mode i2, machine_mode i3)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[2], i3)
      || !register_operand (operands[6], i1)
      || !register_operand (operands[3], i2)
      || !scratch_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern898 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!vsib_address_operand (operands[0], i1))
    return -1;
  switch (GET_MODE (operands[2]))
    {
    case V16SImode:
      if (!register_operand (operands[2], V16SImode)
          || !register_operand (operands[6], HImode)
          || !register_operand (operands[3], V16SImode)
          || !scratch_operand (operands[1], HImode))
        return -1;
      return 0;

    case V8DImode:
      if (pattern897 (QImode, V8SImode, V8DImode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern899 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!vsib_address_operand (operands[0], i1))
    return -1;
  switch (GET_MODE (operands[2]))
    {
    case V16SImode:
      return pattern897 (HImode, V16SFmode, V16SImode); /* [-1, 0] */

    case V8DImode:
      if (pattern897 (QImode, V8SFmode, V8DImode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern900 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2
      || !register_operand (operands[1], i2)
      || !register_operand (operands[2], i2)
      || !nonimmediate_operand (operands[3], i1)
      || !register_operand (operands[5], i3))
    return -1;
  return 0;
}

static int
pattern901 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2
      || !register_operand (operands[1], i2)
      || !register_operand (operands[2], i2)
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern902 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[0]))
    {
    case V16HImode:
      if (!nonimmediate_operand (operands[0], V16HImode)
          || GET_MODE (x1) != V16HImode
          || !nonimmediate_operand (operands[1], V32HImode))
        return -1;
      return 0;

    case V16QImode:
      if (!nonimmediate_operand (operands[0], V16QImode)
          || GET_MODE (x1) != V16QImode
          || !nonimmediate_operand (operands[1], V32QImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern903 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  if (XINT (x1, 1) != 0
      || GET_MODE (x1) != QImode)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) != ZERO_EXTRACT
      || GET_MODE (x2) != SImode)
    return -1;
  x3 = XEXP (x2, 1);
  if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    return -1;
  x4 = XEXP (x2, 2);
  if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    return -1;
  x5 = XEXP (x2, 0);
  operands[2] = x5;
  if (!ext_register_operand (operands[2], VOIDmode))
    return -1;
  return 0;
}

static int
pattern904 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (XWINT (x2, 0) != 1LL)
    return -1;
  x3 = XVECEXP (x1, 0, 2);
  if (XWINT (x3, 0) != 2LL)
    return -1;
  x4 = XVECEXP (x1, 0, 3);
  if (XWINT (x4, 0) != 3LL)
    return -1;
  x5 = XVECEXP (x1, 0, 4);
  if (XWINT (x5, 0) != 4LL)
    return -1;
  x6 = XVECEXP (x1, 0, 5);
  if (XWINT (x6, 0) != 5LL)
    return -1;
  x7 = XVECEXP (x1, 0, 6);
  if (XWINT (x7, 0) != 6LL)
    return -1;
  x8 = XVECEXP (x1, 0, 7);
  if (XWINT (x8, 0) != 7LL)
    return -1;
  x9 = XVECEXP (x1, 0, 8);
  if (XWINT (x9, 0) != 8LL)
    return -1;
  x10 = XVECEXP (x1, 0, 9);
  if (XWINT (x10, 0) != 9LL)
    return -1;
  x11 = XVECEXP (x1, 0, 10);
  if (XWINT (x11, 0) != 10LL)
    return -1;
  x12 = XVECEXP (x1, 0, 11);
  if (XWINT (x12, 0) != 11LL)
    return -1;
  x13 = XVECEXP (x1, 0, 12);
  if (XWINT (x13, 0) != 12LL)
    return -1;
  x14 = XVECEXP (x1, 0, 13);
  if (XWINT (x14, 0) != 13LL)
    return -1;
  x15 = XVECEXP (x1, 0, 14);
  if (XWINT (x15, 0) != 14LL)
    return -1;
  x16 = XVECEXP (x1, 0, 15);
  if (XWINT (x16, 0) != 15LL)
    return -1;
  return 0;
}

static int
pattern905 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!vsib_address_operand (operands[2], i1))
    return -1;
  switch (GET_MODE (operands[3]))
    {
    case V4SImode:
      if (!register_operand (operands[3], V4SImode))
        return -1;
      return 0;

    case V2DImode:
      if (!register_operand (operands[3], V2DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern906 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !vsib_mem_operator (operands[6], i2)
      || !register_operand (operands[4], i1)
      || !scratch_operand (operands[1], i1))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      return pattern905 (SImode); /* [-1, 1] */

    case DImode:
      res = pattern905 (DImode);
      if (res >= 0)
        return res + 2; /* [2, 3] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern907 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!vsib_address_operand (operands[2], i1))
    return -1;
  switch (GET_MODE (operands[3]))
    {
    case V4SImode:
      if (!register_operand (operands[3], V4SImode))
        return -1;
      return 0;

    case V4DImode:
      if (!register_operand (operands[3], V4DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern908 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !vsib_mem_operator (operands[6], i2)
      || !register_operand (operands[4], i1)
      || !scratch_operand (operands[1], i1))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      return pattern907 (SImode); /* [-1, 1] */

    case DImode:
      res = pattern907 (DImode);
      if (res >= 0)
        return res + 2; /* [2, 3] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern909 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !vsib_mem_operator (operands[6], i2)
      || !scratch_operand (operands[1], i1))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      return 0;

    case DImode:
      return 1;

    default:
      return -1;
    }
}

static int
pattern910 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[0]))
    {
    case SImode:
      if (!register_operand (operands[0], SImode)
          || GET_MODE (x1) != SImode)
        return -1;
      return 0;

    case V16QImode:
      if (!register_operand (operands[0], V16QImode)
          || GET_MODE (x1) != V16QImode)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern911 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) != i2)
    return -1;
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != i1
      || !register_operand (operands[0], i1))
    return -1;
  x6 = XVECEXP (x1, 0, 1);
  x7 = XEXP (x6, 1);
  if (GET_MODE (x7) != i1)
    return -1;
  return 0;
}

static int
pattern912 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != i2
      || !nonimmediate_operand (operands[1], i1))
    return -1;
  x6 = XEXP (x4, 1);
  if (GET_MODE (x6) != i2
      || !x86_64_sext_operand (operands[2], i1)
      || pattern911 (x1, i1, i2) != 0)
    return -1;
  return 0;
}

static int
pattern913 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != i2
      || !nonimmediate_operand (operands[1], i1))
    return -1;
  x6 = XEXP (x4, 1);
  if (GET_MODE (x6) != i2
      || !nonimmediate_operand (operands[2], i1)
      || pattern911 (x1, i1, i2) != 0)
    return -1;
  return 0;
}

static int
pattern914 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != i2
      || !nonimmediate_operand (operands[1], i1)
      || !const_int_operand (operands[3], i2))
    return -1;
  x6 = XEXP (x3, 1);
  if (GET_MODE (x6) != i2)
    return -1;
  x7 = XEXP (x6, 0);
  if (GET_MODE (x7) != i1
      || !x86_64_immediate_operand (operands[2], i1)
      || !register_operand (operands[0], i1))
    return -1;
  x8 = XVECEXP (x1, 0, 1);
  x9 = XEXP (x8, 1);
  if (GET_MODE (x9) != i1)
    return -1;
  return 0;
}

static int
pattern915 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1))
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[1], i1))
    return -1;
  x4 = XVECEXP (x1, 0, 1);
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != i1)
    return -1;
  x6 = XEXP (x4, 1);
  if (GET_MODE (x6) != i1)
    return -1;
  x7 = XEXP (x6, 0);
  if (GET_MODE (x7) != i1
      || !const_int_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern916 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[1], i1)
      || !register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[3], i1)
      || !register_operand (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern917 (rtx x1, machine_mode i1, machine_mode i2, rtx_code i3)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15;
  int res ATTRIBUTE_UNUSED;
  if (GET_CODE (x1) != MULT
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) != i3
      || GET_MODE (x2) != i2)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != VEC_SELECT
      || GET_MODE (x3) != i1)
    return -1;
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) != PARALLEL
      || XVECLEN (x4, 0) != 4)
    return -1;
  x5 = XVECEXP (x4, 0, 0);
  if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x6 = XVECEXP (x4, 0, 1);
  if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
    return -1;
  x7 = XVECEXP (x4, 0, 2);
  if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
    return -1;
  x8 = XVECEXP (x4, 0, 3);
  if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
    return -1;
  x9 = XEXP (x1, 1);
  if (GET_CODE (x9) != SIGN_EXTEND
      || GET_MODE (x9) != i2)
    return -1;
  x10 = XEXP (x9, 0);
  if (GET_CODE (x10) != VEC_SELECT
      || GET_MODE (x10) != i1)
    return -1;
  x11 = XEXP (x10, 1);
  if (GET_CODE (x11) != PARALLEL
      || XVECLEN (x11, 0) != 4)
    return -1;
  x12 = XVECEXP (x11, 0, 0);
  if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x13 = XVECEXP (x11, 0, 1);
  if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
    return -1;
  x14 = XVECEXP (x11, 0, 2);
  if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
    return -1;
  x15 = XVECEXP (x11, 0, 3);
  if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
    return -1;
  return 0;
}

static int
pattern918 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i2
      || !nonimmediate_operand (operands[1], i1))
    return -1;
  x4 = XEXP (x1, 1);
  operands[2] = x4;
  if (!vector_move_operand (operands[2], i1))
    return -1;
  x5 = XEXP (x1, 2);
  operands[3] = x5;
  x6 = XEXP (x3, 1);
  if (!rtx_equal_p (x6, operands[1]))
    return -1;
  return 0;
}

static int
pattern919 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i2
      || !register_operand (operands[1], i1))
    return -1;
  x4 = XEXP (x3, 1);
  operands[2] = x4;
  if (!vector_operand (operands[2], i1))
    return -1;
  x5 = XEXP (x1, 1);
  operands[3] = x5;
  if (!vector_move_operand (operands[3], i1))
    return -1;
  x6 = XEXP (x1, 2);
  operands[4] = x6;
  return 0;
}

static int
pattern920 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[3], i1))
    return -1;
  switch (GET_MODE (x1))
    {
    case SImode:
      if (!vsib_address_operand (operands[4], SImode))
        return -1;
      return 0;

    case DImode:
      if (!vsib_address_operand (operands[4], DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern921 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!vsib_address_operand (operands[2], i1))
    return -1;
  switch (GET_MODE (operands[3]))
    {
    case V8SImode:
      if (!register_operand (operands[3], V8SImode)
          || !register_operand (operands[4], V8SImode))
        return -1;
      return 0;

    case V4DImode:
      if (!register_operand (operands[3], V4DImode)
          || !register_operand (operands[4], V4SImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern922 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!vsib_address_operand (operands[2], i1))
    return -1;
  switch (GET_MODE (operands[3]))
    {
    case V8SImode:
      if (!register_operand (operands[3], V8SImode)
          || !register_operand (operands[4], V8SFmode))
        return -1;
      return 0;

    case V4DImode:
      if (!register_operand (operands[3], V4DImode)
          || !register_operand (operands[4], V4SFmode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern923 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!vsib_address_operand (operands[3], i1))
    return -1;
  switch (GET_MODE (operands[4]))
    {
    case V4SImode:
      if (!register_operand (operands[4], V4SImode))
        return -1;
      return 0;

    case V2DImode:
      if (!register_operand (operands[4], V2DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern924 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[2], i1)
      || !vsib_mem_operator (operands[7], i2)
      || !register_operand (operands[5], i1)
      || !scratch_operand (operands[1], i1))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      return pattern923 (SImode); /* [-1, 1] */

    case DImode:
      res = pattern923 (DImode);
      if (res >= 0)
        return res + 2; /* [2, 3] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern925 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!vsib_address_operand (operands[3], i1))
    return -1;
  switch (GET_MODE (operands[4]))
    {
    case V4SImode:
      if (!register_operand (operands[4], V4SImode))
        return -1;
      return 0;

    case V4DImode:
      if (!register_operand (operands[4], V4DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern926 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[2], i1)
      || !vsib_mem_operator (operands[7], i2)
      || !register_operand (operands[5], i1)
      || !scratch_operand (operands[1], i1))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    case SImode:
      return pattern925 (SImode); /* [-1, 1] */

    case DImode:
      res = pattern925 (DImode);
      if (res >= 0)
        return res + 2; /* [2, 3] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern927 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !vsib_mem_operator (operands[7], i2)
      || !scratch_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern928 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!vsib_address_operand (operands[0], i1))
    return -1;
  switch (GET_MODE (operands[2]))
    {
    case V8SImode:
      if (!register_operand (operands[2], V8SImode)
          || !register_operand (operands[3], V8SImode))
        return -1;
      return 0;

    case V4DImode:
      if (!register_operand (operands[2], V4DImode)
          || !register_operand (operands[3], V4SImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern929 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!vsib_address_operand (operands[0], i1))
    return -1;
  switch (GET_MODE (operands[2]))
    {
    case V8SImode:
      if (!register_operand (operands[2], V8SImode)
          || !register_operand (operands[3], V8SFmode))
        return -1;
      return 0;

    case V4DImode:
      if (!register_operand (operands[2], V4DImode)
          || !register_operand (operands[3], V4SFmode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern930 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != i2
      || !nonimmediate_operand (operands[1], i1))
    return -1;
  x6 = XEXP (x4, 1);
  if (GET_MODE (x6) != i2
      || !nonimmediate_operand (operands[2], i1))
    return -1;
  x7 = XEXP (x3, 1);
  if (GET_MODE (x7) != i2)
    return -1;
  x8 = XEXP (x7, 0);
  if (GET_MODE (x8) != i1
      || !register_operand (operands[0], i1))
    return -1;
  x9 = XVECEXP (x1, 0, 1);
  x10 = XEXP (x9, 1);
  if (GET_MODE (x10) != i1
      || !scratch_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern931 ()
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[0]))
    {
    case CCFPmode:
      if (!ix86_fp_comparison_operator (operands[0], CCFPmode))
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case XFmode:
          if (!register_operand (operands[1], XFmode)
              || !register_operand (operands[2], XFmode))
            return -1;
          return 0;

        case SFmode:
          if (!register_operand (operands[1], SFmode)
              || !nonimmediate_operand (operands[2], SFmode))
            return -1;
          return 1;

        case DFmode:
          if (!register_operand (operands[1], DFmode)
              || !nonimmediate_operand (operands[2], DFmode))
            return -1;
          return 2;

        default:
          return -1;
        }

    case CCFPUmode:
      if (!ix86_fp_comparison_operator (operands[0], CCFPUmode))
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case SFmode:
          if (!register_operand (operands[1], SFmode)
              || !register_operand (operands[2], SFmode))
            return -1;
          return 3;

        case DFmode:
          if (!register_operand (operands[1], DFmode)
              || !register_operand (operands[2], DFmode))
            return -1;
          return 4;

        case XFmode:
          if (!register_operand (operands[1], XFmode)
              || !register_operand (operands[2], XFmode))
            return -1;
          return 5;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern932 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[5], i1))
    return -1;
  switch (GET_MODE (x1))
    {
    case SImode:
      if (!vsib_address_operand (operands[3], SImode))
        return -1;
      return 0;

    case DImode:
      if (!vsib_address_operand (operands[3], DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern933 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[2], i1)
      || !register_operand (operands[4], i2))
    return -1;
  return pattern932 (x1, i1); /* [-1, 1] */
}

static int
pattern934 (rtx x1, rtx_code i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19, x20, x21, x22, x23, x24, x25;
  rtx x26, x27, x28, x29, x30, x31, x32, x33;
  rtx x34, x35, x36, x37, x38, x39, x40, x41;
  rtx x42, x43, x44, x45, x46, x47, x48, x49;
  rtx x50, x51, x52, x53, x54, x55;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  if (GET_CODE (x5) != VEC_SELECT
      || GET_MODE (x5) != V2QImode)
    return -1;
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) != PARALLEL
      || XVECLEN (x6, 0) != 2)
    return -1;
  x7 = XVECEXP (x6, 0, 0);
  if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x8 = XVECEXP (x6, 0, 1);
  if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    return -1;
  x9 = XEXP (x3, 1);
  if (GET_CODE (x9) != i1)
    return -1;
  x10 = XEXP (x9, 0);
  if (GET_CODE (x10) != VEC_SELECT
      || GET_MODE (x10) != V2QImode)
    return -1;
  x11 = XEXP (x10, 1);
  if (GET_CODE (x11) != PARALLEL
      || XVECLEN (x11, 0) != 2)
    return -1;
  x12 = XVECEXP (x11, 0, 0);
  if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x13 = XVECEXP (x11, 0, 1);
  if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 9])
    return -1;
  x14 = XEXP (x2, 1);
  x15 = XEXP (x14, 0);
  if (GET_CODE (x15) != i1)
    return -1;
  x16 = XEXP (x15, 0);
  if (GET_CODE (x16) != VEC_SELECT
      || GET_MODE (x16) != V2QImode)
    return -1;
  x17 = XEXP (x16, 1);
  if (GET_CODE (x17) != PARALLEL
      || XVECLEN (x17, 0) != 2)
    return -1;
  x18 = XVECEXP (x17, 0, 0);
  if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
    return -1;
  x19 = XVECEXP (x17, 0, 1);
  if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
    return -1;
  x20 = XEXP (x14, 1);
  if (GET_CODE (x20) != i1)
    return -1;
  x21 = XEXP (x20, 0);
  if (GET_CODE (x21) != VEC_SELECT
      || GET_MODE (x21) != V2QImode)
    return -1;
  x22 = XEXP (x21, 1);
  if (GET_CODE (x22) != PARALLEL
      || XVECLEN (x22, 0) != 2)
    return -1;
  x23 = XVECEXP (x22, 0, 0);
  if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
    return -1;
  x24 = XVECEXP (x22, 0, 1);
  if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 11])
    return -1;
  x25 = XEXP (x1, 1);
  x26 = XEXP (x25, 0);
  x27 = XEXP (x26, 0);
  if (GET_CODE (x27) != i1)
    return -1;
  x28 = XEXP (x27, 0);
  if (GET_CODE (x28) != VEC_SELECT
      || GET_MODE (x28) != V2QImode)
    return -1;
  x29 = XEXP (x28, 1);
  if (GET_CODE (x29) != PARALLEL
      || XVECLEN (x29, 0) != 2)
    return -1;
  x30 = XVECEXP (x29, 0, 0);
  if (x30 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
    return -1;
  x31 = XVECEXP (x29, 0, 1);
  if (x31 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
    return -1;
  x32 = XEXP (x26, 1);
  if (GET_CODE (x32) != i1)
    return -1;
  x33 = XEXP (x32, 0);
  if (GET_CODE (x33) != VEC_SELECT
      || GET_MODE (x33) != V2QImode)
    return -1;
  x34 = XEXP (x33, 1);
  if (GET_CODE (x34) != PARALLEL
      || XVECLEN (x34, 0) != 2)
    return -1;
  x35 = XVECEXP (x34, 0, 0);
  if (x35 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
    return -1;
  x36 = XVECEXP (x34, 0, 1);
  if (x36 != const_int_rtx[MAX_SAVED_CONST_INT + 13])
    return -1;
  x37 = XEXP (x25, 1);
  x38 = XEXP (x37, 0);
  if (GET_CODE (x38) != i1)
    return -1;
  x39 = XEXP (x38, 0);
  if (GET_CODE (x39) != VEC_SELECT
      || GET_MODE (x39) != V2QImode)
    return -1;
  x40 = XEXP (x39, 1);
  if (GET_CODE (x40) != PARALLEL
      || XVECLEN (x40, 0) != 2)
    return -1;
  x41 = XVECEXP (x40, 0, 0);
  if (x41 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
    return -1;
  x42 = XVECEXP (x40, 0, 1);
  if (x42 != const_int_rtx[MAX_SAVED_CONST_INT + 14])
    return -1;
  x43 = XEXP (x37, 1);
  if (GET_CODE (x43) != i1)
    return -1;
  x44 = XEXP (x43, 0);
  if (GET_CODE (x44) != VEC_SELECT
      || GET_MODE (x44) != V2QImode)
    return -1;
  x45 = XEXP (x44, 1);
  if (GET_CODE (x45) != PARALLEL
      || XVECLEN (x45, 0) != 2)
    return -1;
  x46 = XVECEXP (x45, 0, 0);
  if (x46 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
    return -1;
  x47 = XVECEXP (x45, 0, 1);
  if (x47 != const_int_rtx[MAX_SAVED_CONST_INT + 15])
    return -1;
  x48 = XEXP (x5, 0);
  operands[1] = x48;
  if (!nonimmediate_operand (operands[1], V16QImode))
    return -1;
  x49 = XEXP (x10, 0);
  if (!rtx_equal_p (x49, operands[1]))
    return -1;
  x50 = XEXP (x16, 0);
  if (!rtx_equal_p (x50, operands[1]))
    return -1;
  x51 = XEXP (x21, 0);
  if (!rtx_equal_p (x51, operands[1]))
    return -1;
  x52 = XEXP (x28, 0);
  if (!rtx_equal_p (x52, operands[1]))
    return -1;
  x53 = XEXP (x33, 0);
  if (!rtx_equal_p (x53, operands[1]))
    return -1;
  x54 = XEXP (x39, 0);
  if (!rtx_equal_p (x54, operands[1]))
    return -1;
  x55 = XEXP (x44, 0);
  if (!rtx_equal_p (x55, operands[1]))
    return -1;
  return 0;
}

static int
pattern935 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  if (!nonimmediate_operand (operands[1], i1))
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) != i1
      || !ix86_carry_flag_operator (operands[4], i1)
      || !nonimmediate_operand (operands[2], i1)
      || !register_operand (operands[0], i1))
    return -1;
  x5 = XVECEXP (x1, 0, 1);
  x6 = XEXP (x5, 1);
  if (GET_MODE (x6) != i1)
    return -1;
  x7 = XEXP (x6, 0);
  if (GET_MODE (x7) != i1)
    return -1;
  return 0;
}

static int
pattern936 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[1], i1)
      || !register_operand (operands[2], i1)
      || !register_operand (operands[3], i2)
      || !const0_operand (operands[5], i1))
    return -1;
  return 0;
}

static int
pattern937 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i2
      || !register_operand (operands[1], i2)
      || !register_operand (operands[2], i2)
      || !register_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern938 ()
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[1]))
    {
    case SFmode:
      if (!register_operand (operands[1], SFmode)
          || !const0_operand (operands[2], SFmode))
        return -1;
      return 0;

    case DFmode:
      if (!register_operand (operands[1], DFmode)
          || !const0_operand (operands[2], DFmode))
        return -1;
      return 1;

    case XFmode:
      if (!register_operand (operands[1], XFmode)
          || !const0_operand (operands[2], XFmode))
        return -1;
      return 2;

    default:
      return -1;
    }
}

static int
pattern939 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[4], i1)
      || !register_operand (operands[5], i1)
      || !register_operand (operands[6], i1)
      || !register_operand (operands[0], i1)
      || !register_operand (operands[1], i1)
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern940 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!float_operator (operands[1], i1)
      || !register_operand (operands[3], i1))
    return -1;
  switch (GET_MODE (operands[2]))
    {
    case HImode:
      if (!memory_operand (operands[2], HImode))
        return -1;
      return 0;

    case SImode:
      if (!memory_operand (operands[2], SImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern941 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 4);
  if (XWINT (x2, 0) != 6LL)
    return -1;
  x3 = XVECEXP (x1, 0, 5);
  if (XWINT (x3, 0) != 22LL)
    return -1;
  x4 = XVECEXP (x1, 0, 6);
  if (XWINT (x4, 0) != 7LL)
    return -1;
  x5 = XVECEXP (x1, 0, 7);
  if (XWINT (x5, 0) != 23LL)
    return -1;
  return 0;
}

static int
pattern942 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != i1
      || !ix86_carry_flag_operator (operands[4], i1)
      || !nonimmediate_operand (operands[1], i1)
      || !nonimmediate_operand (operands[2], i1)
      || !register_operand (operands[0], i1))
    return -1;
  x6 = XVECEXP (x1, 0, 1);
  x7 = XEXP (x6, 1);
  if (GET_MODE (x7) != i1)
    return -1;
  x8 = XEXP (x7, 0);
  if (GET_MODE (x8) != i1)
    return -1;
  return 0;
}

static int
pattern943 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  if (!memory_operand (operands[0], i1))
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !nonmemory_operand (operands[1], i1))
    return -1;
  x3 = XEXP (x1, 1);
  if (GET_MODE (x3) != i1)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != i1)
    return -1;
  return 0;
}

static int
pattern944 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[7], i1)
      || !register_operand (operands[3], i2)
      || !scratch_operand (operands[2], i1))
    return -1;
  switch (GET_MODE (x1))
    {
    case SImode:
      if (!vsib_address_operand (operands[4], SImode))
        return -1;
      return 0;

    case DImode:
      if (!vsib_address_operand (operands[4], DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern945 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!float_operator (operands[1], i1)
      || !register_operand (operands[3], i1))
    return -1;
  switch (GET_MODE (operands[2]))
    {
    case HImode:
      if (!nonimmediate_operand (operands[2], HImode))
        return -1;
      return 0;

    case SImode:
      if (!nonimmediate_operand (operands[2], SImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern946 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[2], i1)
      || !register_operand (operands[0], i1))
    return -1;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) != i1
      || !register_operand (operands[3], i1)
      || !register_operand (operands[5], i1)
      || !register_operand (operands[1], i1))
    return -1;
  x4 = XVECEXP (x1, 0, 2);
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) != i1
      || !register_operand (operands[4], i1))
    return -1;
  return 0;
}

static int
pattern947 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[3], V2DImode))
    return -1;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  x5 = XVECEXP (x4, 0, 0);
  switch (XWINT (x5, 0))
    {
    case 0LL:
      x6 = XVECEXP (x4, 0, 1);
      if (XWINT (x6, 0) != 2LL)
        return -1;
      x7 = XEXP (x1, 1);
      x8 = XEXP (x7, 0);
      x9 = XEXP (x8, 1);
      x10 = XVECEXP (x9, 0, 0);
      if (XWINT (x10, 0) != 0LL)
        return -1;
      x11 = XVECEXP (x9, 0, 1);
      if (XWINT (x11, 0) != 2LL)
        return -1;
      return 0;

    case 1LL:
      x6 = XVECEXP (x4, 0, 1);
      if (XWINT (x6, 0) != 3LL)
        return -1;
      x7 = XEXP (x1, 1);
      x8 = XEXP (x7, 0);
      x9 = XEXP (x8, 1);
      x10 = XVECEXP (x9, 0, 0);
      if (XWINT (x10, 0) != 1LL)
        return -1;
      x11 = XVECEXP (x9, 0, 1);
      if (XWINT (x11, 0) != 3LL)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern948 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1))
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) != i1
      || !memory_operand (operands[1], i1)
      || !register_operand (operands[2], i1)
      || !register_operand (operands[3], i1))
    return -1;
  x4 = XVECEXP (x1, 0, 1);
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) != i1)
    return -1;
  return 0;
}

static int
pattern949 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 4);
  if (XWINT (x2, 0) != 6LL)
    return -1;
  x3 = XVECEXP (x1, 0, 5);
  if (XWINT (x3, 0) != 22LL)
    return -1;
  x4 = XVECEXP (x1, 0, 6);
  if (XWINT (x4, 0) != 7LL)
    return -1;
  x5 = XVECEXP (x1, 0, 7);
  if (XWINT (x5, 0) != 23LL)
    return -1;
  return 0;
}

static int
pattern950 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i3
      || !vsib_mem_operator (operands[6], i2)
      || !register_operand (operands[4], i1))
    return -1;
  x3 = XVECEXP (x2, 0, 1);
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case SImode:
      if (!vsib_address_operand (operands[2], SImode))
        return -1;
      return 0;

    case DImode:
      if (!vsib_address_operand (operands[2], DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern951 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  if (XINT (x1, 1) != 0
      || GET_MODE (x1) != QImode)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) != ZERO_EXTRACT
      || GET_MODE (x2) != SImode)
    return -1;
  x3 = XEXP (x2, 1);
  if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    return -1;
  x4 = XEXP (x2, 2);
  if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    return -1;
  x5 = XEXP (x2, 0);
  operands[2] = x5;
  if (!ext_register_operand (operands[2], VOIDmode))
    return -1;
  return 0;
}

static int
pattern952 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!vsib_address_operand (operands[2], i1))
    return -1;
  switch (GET_MODE (operands[3]))
    {
    case V8SImode:
      if (!register_operand (operands[3], V8SImode)
          || !register_operand (operands[4], V8SImode))
        return -1;
      return 0;

    case V4DImode:
      if (!register_operand (operands[3], V4DImode)
          || !register_operand (operands[4], V4SImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern953 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!vsib_address_operand (operands[2], i1))
    return -1;
  switch (GET_MODE (operands[3]))
    {
    case V8SImode:
      if (!register_operand (operands[3], V8SImode)
          || !register_operand (operands[4], V8SFmode))
        return -1;
      return 0;

    case V4DImode:
      if (!register_operand (operands[3], V4DImode)
          || !register_operand (operands[4], V4SFmode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern954 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[3], i1))
    return -1;
  switch (GET_MODE (x1))
    {
    case SImode:
      if (!vsib_address_operand (operands[4], SImode))
        return -1;
      return 0;

    case DImode:
      if (!vsib_address_operand (operands[4], DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern955 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1))
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) != i1
      || !memory_operand (operands[1], i1)
      || !register_operand (operands[2], i1)
      || !register_operand (operands[3], i2)
      || !register_operand (operands[4], i2))
    return -1;
  x4 = XVECEXP (x1, 0, 1);
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) != i1)
    return -1;
  return 0;
}

static int
pattern956 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  int res ATTRIBUTE_UNUSED;
  if (!plusminuslogic_operator (operands[3], i1))
    return -1;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  if (!rtx_equal_p (x3, operands[0]))
    return -1;
  x4 = XEXP (x1, 0);
  if (!rtx_equal_p (x4, operands[0]))
    return -1;
  x5 = PATTERN (peep2_next_insn (2));
  x6 = XEXP (x5, 1);
  if (!rtx_equal_p (x6, operands[0]))
    return -1;
  x7 = PATTERN (peep2_next_insn (3));
  x8 = XEXP (x7, 1);
  x9 = XEXP (x8, 0);
  if (!rtx_equal_p (x9, operands[0]))
    return -1;
  return 0;
}

static int
pattern957 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[4] = x2;
  if (!register_operand (operands[4], SImode)
      || !plusminuslogic_operator (operands[3], SImode))
    return -1;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  if (!rtx_equal_p (x4, operands[4]))
    return -1;
  x5 = PATTERN (peep2_next_insn (2));
  x6 = XEXP (x5, 1);
  if (!rtx_equal_p (x6, operands[0]))
    return -1;
  x7 = PATTERN (peep2_next_insn (3));
  x8 = XEXP (x7, 1);
  x9 = XEXP (x8, 0);
  if (!rtx_equal_p (x9, operands[0]))
    return -1;
  return 0;
}

static int
pattern958 ()
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!const_0_to_7_operand (operands[4], VOIDmode)
      || !const_0_to_7_operand (operands[5], VOIDmode)
      || !const_0_to_7_operand (operands[6], VOIDmode)
      || !const_8_to_15_operand (operands[7], VOIDmode)
      || !const_8_to_15_operand (operands[8], VOIDmode)
      || !const_8_to_15_operand (operands[9], VOIDmode)
      || !const_8_to_15_operand (operands[10], VOIDmode))
    return -1;
  return 0;
}

static int
pattern959 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !nonimmediate_operand (operands[1], i1)
      || !vector_move_operand (operands[10], i1))
    return -1;
  return 0;
}

static int
pattern960 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i3
      || !register_operand (operands[2], i1)
      || !vsib_mem_operator (operands[7], i2)
      || !register_operand (operands[5], i1))
    return -1;
  x3 = XVECEXP (x2, 0, 1);
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case SImode:
      if (!vsib_address_operand (operands[3], SImode))
        return -1;
      return 0;

    case DImode:
      if (!vsib_address_operand (operands[3], DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern961 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[5], i1))
    return -1;
  switch (GET_MODE (x1))
    {
    case SImode:
      if (!vsib_address_operand (operands[3], SImode))
        return -1;
      return 0;

    case DImode:
      if (!vsib_address_operand (operands[3], DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern962 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[2], i1)
      || !register_operand (operands[4], i2))
    return -1;
  return pattern961 (x1, i1); /* [-1, 1] */
}

static int
pattern963 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (GET_CODE (x1) != SIGN_EXTEND
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) != VEC_SELECT
      || GET_MODE (x2) != i1)
    return -1;
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) != PARALLEL)
    return -1;
  return 0;
}

static int
pattern964 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 12);
  if (XWINT (x2, 0) != 14LL)
    return -1;
  x3 = XVECEXP (x1, 0, 13);
  if (XWINT (x3, 0) != 30LL)
    return -1;
  x4 = XVECEXP (x1, 0, 14);
  if (XWINT (x4, 0) != 15LL)
    return -1;
  x5 = XVECEXP (x1, 0, 15);
  if (XWINT (x5, 0) != 31LL)
    return -1;
  return 0;
}

static int
pattern965 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 8);
  if (XWINT (x2, 0) != 12LL)
    return -1;
  x3 = XVECEXP (x1, 0, 9);
  if (XWINT (x3, 0) != 28LL)
    return -1;
  x4 = XVECEXP (x1, 0, 10);
  if (XWINT (x4, 0) != 13LL)
    return -1;
  x5 = XVECEXP (x1, 0, 11);
  if (XWINT (x5, 0) != 29LL
      || pattern964 (x1) != 0)
    return -1;
  return 0;
}

static int
pattern966 ()
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!const_0_to_15_operand (operands[4], VOIDmode)
      || !const_0_to_15_operand (operands[5], VOIDmode)
      || !const_0_to_15_operand (operands[6], VOIDmode)
      || !const_0_to_15_operand (operands[7], VOIDmode)
      || !const_0_to_15_operand (operands[8], VOIDmode)
      || !const_0_to_15_operand (operands[9], VOIDmode)
      || !const_0_to_15_operand (operands[10], VOIDmode)
      || !const_16_to_31_operand (operands[11], VOIDmode)
      || !const_16_to_31_operand (operands[12], VOIDmode)
      || !const_16_to_31_operand (operands[13], VOIDmode)
      || !const_16_to_31_operand (operands[14], VOIDmode)
      || !const_16_to_31_operand (operands[15], VOIDmode)
      || !const_16_to_31_operand (operands[16], VOIDmode)
      || !const_16_to_31_operand (operands[17], VOIDmode)
      || !const_16_to_31_operand (operands[18], VOIDmode))
    return -1;
  return 0;
}

static int
pattern967 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !vsib_mem_operator (operands[6], i3)
      || !register_operand (operands[4], i2)
      || !scratch_operand (operands[1], i1))
    return -1;
  x3 = XVECEXP (x2, 0, 1);
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case SImode:
      if (!vsib_address_operand (operands[2], SImode))
        return -1;
      return 0;

    case DImode:
      if (!vsib_address_operand (operands[2], DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern968 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 12);
  if (XWINT (x2, 0) != 14LL)
    return -1;
  x3 = XVECEXP (x1, 0, 13);
  if (XWINT (x3, 0) != 30LL)
    return -1;
  x4 = XVECEXP (x1, 0, 14);
  if (XWINT (x4, 0) != 15LL)
    return -1;
  x5 = XVECEXP (x1, 0, 15);
  if (XWINT (x5, 0) != 31LL)
    return -1;
  return 0;
}

static int
pattern969 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 8);
  if (XWINT (x2, 0) != 12LL)
    return -1;
  x3 = XVECEXP (x1, 0, 9);
  if (XWINT (x3, 0) != 28LL)
    return -1;
  x4 = XVECEXP (x1, 0, 10);
  if (XWINT (x4, 0) != 13LL)
    return -1;
  x5 = XVECEXP (x1, 0, 11);
  if (XWINT (x5, 0) != 29LL
      || pattern968 (x1) != 0)
    return -1;
  return 0;
}

static int
pattern970 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !register_operand (operands[2], i2)
      || !vsib_mem_operator (operands[7], i3)
      || !register_operand (operands[5], i2)
      || !scratch_operand (operands[1], i1))
    return -1;
  x3 = XVECEXP (x2, 0, 1);
  x4 = XEXP (x3, 0);
  switch (GET_MODE (x4))
    {
    case SImode:
      if (!vsib_address_operand (operands[3], SImode))
        return -1;
      return 0;

    case DImode:
      if (!vsib_address_operand (operands[3], DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern971 (machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[6], i1)
      || !register_operand (operands[4], i1)
      || !register_operand (operands[5], i1)
      || !register_operand (operands[0], i1)
      || !register_operand (operands[1], i1)
      || !register_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern972 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) != i1
      || !memory_operand (operands[1], i1))
    return -1;
  x4 = XVECEXP (x1, 0, 1);
  x5 = XEXP (x4, 1);
  if (GET_MODE (x5) != i1
      || !const_int_operand (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern973 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || !const_int_operand (operands[2], i1)
      || pattern972 (x1, i1) != 0)
    return -1;
  return 0;
}

static int
pattern974 ()
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!const_0_to_15_operand (operands[4], VOIDmode)
      || !const_0_to_15_operand (operands[5], VOIDmode)
      || !const_0_to_15_operand (operands[6], VOIDmode)
      || !const_0_to_15_operand (operands[7], VOIDmode)
      || !const_0_to_15_operand (operands[8], VOIDmode)
      || !const_0_to_15_operand (operands[9], VOIDmode)
      || !const_0_to_15_operand (operands[10], VOIDmode)
      || !const_16_to_31_operand (operands[11], VOIDmode)
      || !const_16_to_31_operand (operands[12], VOIDmode)
      || !const_16_to_31_operand (operands[13], VOIDmode)
      || !const_16_to_31_operand (operands[14], VOIDmode)
      || !const_16_to_31_operand (operands[15], VOIDmode)
      || !const_16_to_31_operand (operands[16], VOIDmode)
      || !const_16_to_31_operand (operands[17], VOIDmode)
      || !const_16_to_31_operand (operands[18], VOIDmode))
    return -1;
  return 0;
}

static int
pattern975 (rtx x1, int i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  int res ATTRIBUTE_UNUSED;
  if (XVECLEN (x1, 0) != i1)
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x3 = XVECEXP (x1, 0, 1);
  if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
    return -1;
  x4 = XVECEXP (x1, 0, 2);
  if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
    return -1;
  x5 = XVECEXP (x1, 0, 3);
  if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
    return -1;
  x6 = XVECEXP (x1, 0, 4);
  if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 9])
    return -1;
  x7 = XVECEXP (x1, 0, 5);
  if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 11])
    return -1;
  x8 = XVECEXP (x1, 0, 6);
  if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 13])
    return -1;
  x9 = XVECEXP (x1, 0, 7);
  if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 15])
    return -1;
  return 0;
}

static int
pattern976 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i2
      || !register_operand (operands[1], i1))
    return -1;
  x3 = XEXP (x2, 1);
  operands[2] = x3;
  if (!nonimmediate_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern977 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || !constm1_operand (operands[2], i1)
      || pattern972 (x1, i1) != 0)
    return -1;
  return 0;
}

static int
pattern978 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 8);
  if (XWINT (x2, 0) != 12LL)
    return -1;
  x3 = XVECEXP (x1, 0, 9);
  if (XWINT (x3, 0) != 44LL)
    return -1;
  x4 = XVECEXP (x1, 0, 10);
  if (XWINT (x4, 0) != 13LL)
    return -1;
  x5 = XVECEXP (x1, 0, 11);
  if (XWINT (x5, 0) != 45LL)
    return -1;
  x6 = XVECEXP (x1, 0, 12);
  if (XWINT (x6, 0) != 14LL)
    return -1;
  x7 = XVECEXP (x1, 0, 13);
  if (XWINT (x7, 0) != 46LL)
    return -1;
  x8 = XVECEXP (x1, 0, 14);
  if (XWINT (x8, 0) != 15LL)
    return -1;
  x9 = XVECEXP (x1, 0, 15);
  if (XWINT (x9, 0) != 47LL)
    return -1;
  return 0;
}

static int
pattern979 (rtx x1, int i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  int res ATTRIBUTE_UNUSED;
  if (XVECLEN (x1, 0) != i1)
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x3 = XVECEXP (x1, 0, 1);
  if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
    return -1;
  x4 = XVECEXP (x1, 0, 2);
  if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
    return -1;
  x5 = XVECEXP (x1, 0, 3);
  if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
    return -1;
  x6 = XVECEXP (x1, 0, 4);
  if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 9])
    return -1;
  x7 = XVECEXP (x1, 0, 5);
  if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 11])
    return -1;
  x8 = XVECEXP (x1, 0, 6);
  if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 13])
    return -1;
  x9 = XVECEXP (x1, 0, 7);
  if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 15])
    return -1;
  return 0;
}

static int
pattern980 (rtx x1, rtx_code i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19, x20, x21, x22, x23, x24, x25;
  rtx x26, x27, x28, x29, x30, x31, x32, x33;
  rtx x34, x35, x36, x37, x38, x39, x40, x41;
  rtx x42, x43, x44, x45, x46, x47, x48, x49;
  rtx x50, x51, x52, x53, x54, x55, x56, x57;
  rtx x58, x59, x60, x61, x62, x63, x64, x65;
  rtx x66, x67, x68, x69, x70, x71, x72, x73;
  rtx x74, x75, x76, x77, x78, x79, x80, x81;
  rtx x82, x83, x84, x85, x86, x87, x88, x89;
  rtx x90, x91, x92, x93, x94, x95, x96, x97;
  rtx x98, x99, x100, x101, x102, x103, x104, x105;
  rtx x106, x107, x108, x109, x110, x111, x112, x113;
  rtx x114, x115, x116, x117, x118, x119, x120, x121;
  rtx x122, x123, x124, x125, x126, x127, x128, x129;
  rtx x130, x131, x132, x133, x134, x135, x136, x137;
  rtx x138, x139, x140, x141, x142, x143, x144, x145;
  rtx x146, x147, x148, x149, x150, x151, x152, x153;
  rtx x154, x155, x156, x157, x158, x159;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  x6 = XEXP (x5, 0);
  if (GET_CODE (x6) != VEC_SELECT
      || GET_MODE (x6) != HImode)
    return -1;
  x7 = XEXP (x6, 1);
  if (GET_CODE (x7) != PARALLEL
      || XVECLEN (x7, 0) != 1)
    return -1;
  x8 = XVECEXP (x7, 0, 0);
  if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x9 = XEXP (x5, 1);
  if (GET_CODE (x9) != VEC_SELECT
      || GET_MODE (x9) != HImode)
    return -1;
  x10 = XEXP (x9, 1);
  if (GET_CODE (x10) != PARALLEL
      || XVECLEN (x10, 0) != 1)
    return -1;
  x11 = XVECEXP (x10, 0, 0);
  if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x12 = XEXP (x4, 1);
  if (GET_CODE (x12) != i1)
    return -1;
  x13 = XEXP (x12, 0);
  if (GET_CODE (x13) != VEC_SELECT
      || GET_MODE (x13) != HImode)
    return -1;
  x14 = XEXP (x13, 1);
  if (GET_CODE (x14) != PARALLEL
      || XVECLEN (x14, 0) != 1)
    return -1;
  x15 = XVECEXP (x14, 0, 0);
  if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
    return -1;
  x16 = XEXP (x12, 1);
  if (GET_CODE (x16) != VEC_SELECT
      || GET_MODE (x16) != HImode)
    return -1;
  x17 = XEXP (x16, 1);
  if (GET_CODE (x17) != PARALLEL
      || XVECLEN (x17, 0) != 1)
    return -1;
  x18 = XVECEXP (x17, 0, 0);
  if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
    return -1;
  x19 = XEXP (x3, 1);
  x20 = XEXP (x19, 0);
  if (GET_CODE (x20) != i1)
    return -1;
  x21 = XEXP (x20, 0);
  if (GET_CODE (x21) != VEC_SELECT
      || GET_MODE (x21) != HImode)
    return -1;
  x22 = XEXP (x21, 1);
  if (GET_CODE (x22) != PARALLEL
      || XVECLEN (x22, 0) != 1)
    return -1;
  x23 = XVECEXP (x22, 0, 0);
  if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
    return -1;
  x24 = XEXP (x20, 1);
  if (GET_CODE (x24) != VEC_SELECT
      || GET_MODE (x24) != HImode)
    return -1;
  x25 = XEXP (x24, 1);
  if (GET_CODE (x25) != PARALLEL
      || XVECLEN (x25, 0) != 1)
    return -1;
  x26 = XVECEXP (x25, 0, 0);
  if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
    return -1;
  x27 = XEXP (x19, 1);
  if (GET_CODE (x27) != i1)
    return -1;
  x28 = XEXP (x27, 0);
  if (GET_CODE (x28) != VEC_SELECT
      || GET_MODE (x28) != HImode)
    return -1;
  x29 = XEXP (x28, 1);
  if (GET_CODE (x29) != PARALLEL
      || XVECLEN (x29, 0) != 1)
    return -1;
  x30 = XVECEXP (x29, 0, 0);
  if (x30 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
    return -1;
  x31 = XEXP (x27, 1);
  if (GET_CODE (x31) != VEC_SELECT
      || GET_MODE (x31) != HImode)
    return -1;
  x32 = XEXP (x31, 1);
  if (GET_CODE (x32) != PARALLEL
      || XVECLEN (x32, 0) != 1)
    return -1;
  x33 = XVECEXP (x32, 0, 0);
  if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
    return -1;
  x34 = XEXP (x2, 1);
  x35 = XEXP (x34, 0);
  x36 = XEXP (x35, 0);
  if (GET_CODE (x36) != i1)
    return -1;
  x37 = XEXP (x36, 0);
  if (GET_CODE (x37) != VEC_SELECT
      || GET_MODE (x37) != HImode)
    return -1;
  x38 = XEXP (x37, 1);
  if (GET_CODE (x38) != PARALLEL
      || XVECLEN (x38, 0) != 1)
    return -1;
  x39 = XVECEXP (x38, 0, 0);
  if (x39 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    return -1;
  x40 = XEXP (x36, 1);
  if (GET_CODE (x40) != VEC_SELECT
      || GET_MODE (x40) != HImode)
    return -1;
  x41 = XEXP (x40, 1);
  if (GET_CODE (x41) != PARALLEL
      || XVECLEN (x41, 0) != 1)
    return -1;
  x42 = XVECEXP (x41, 0, 0);
  if (x42 != const_int_rtx[MAX_SAVED_CONST_INT + 9])
    return -1;
  x43 = XEXP (x35, 1);
  if (GET_CODE (x43) != i1)
    return -1;
  x44 = XEXP (x43, 0);
  if (GET_CODE (x44) != VEC_SELECT
      || GET_MODE (x44) != HImode)
    return -1;
  x45 = XEXP (x44, 1);
  if (GET_CODE (x45) != PARALLEL
      || XVECLEN (x45, 0) != 1)
    return -1;
  x46 = XVECEXP (x45, 0, 0);
  if (x46 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
    return -1;
  x47 = XEXP (x43, 1);
  if (GET_CODE (x47) != VEC_SELECT
      || GET_MODE (x47) != HImode)
    return -1;
  x48 = XEXP (x47, 1);
  if (GET_CODE (x48) != PARALLEL
      || XVECLEN (x48, 0) != 1)
    return -1;
  x49 = XVECEXP (x48, 0, 0);
  if (x49 != const_int_rtx[MAX_SAVED_CONST_INT + 11])
    return -1;
  x50 = XEXP (x34, 1);
  x51 = XEXP (x50, 0);
  if (GET_CODE (x51) != i1)
    return -1;
  x52 = XEXP (x51, 0);
  if (GET_CODE (x52) != VEC_SELECT
      || GET_MODE (x52) != HImode)
    return -1;
  x53 = XEXP (x52, 1);
  if (GET_CODE (x53) != PARALLEL
      || XVECLEN (x53, 0) != 1)
    return -1;
  x54 = XVECEXP (x53, 0, 0);
  if (x54 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
    return -1;
  x55 = XEXP (x51, 1);
  if (GET_CODE (x55) != VEC_SELECT
      || GET_MODE (x55) != HImode)
    return -1;
  x56 = XEXP (x55, 1);
  if (GET_CODE (x56) != PARALLEL
      || XVECLEN (x56, 0) != 1)
    return -1;
  x57 = XVECEXP (x56, 0, 0);
  if (x57 != const_int_rtx[MAX_SAVED_CONST_INT + 13])
    return -1;
  x58 = XEXP (x50, 1);
  if (GET_CODE (x58) != i1)
    return -1;
  x59 = XEXP (x58, 0);
  if (GET_CODE (x59) != VEC_SELECT
      || GET_MODE (x59) != HImode)
    return -1;
  x60 = XEXP (x59, 1);
  if (GET_CODE (x60) != PARALLEL
      || XVECLEN (x60, 0) != 1)
    return -1;
  x61 = XVECEXP (x60, 0, 0);
  if (x61 != const_int_rtx[MAX_SAVED_CONST_INT + 14])
    return -1;
  x62 = XEXP (x58, 1);
  if (GET_CODE (x62) != VEC_SELECT
      || GET_MODE (x62) != HImode)
    return -1;
  x63 = XEXP (x62, 1);
  if (GET_CODE (x63) != PARALLEL
      || XVECLEN (x63, 0) != 1)
    return -1;
  x64 = XVECEXP (x63, 0, 0);
  if (x64 != const_int_rtx[MAX_SAVED_CONST_INT + 15])
    return -1;
  x65 = XEXP (x1, 1);
  x66 = XEXP (x65, 0);
  x67 = XEXP (x66, 0);
  x68 = XEXP (x67, 0);
  if (GET_CODE (x68) != i1)
    return -1;
  x69 = XEXP (x68, 0);
  if (GET_CODE (x69) != VEC_SELECT
      || GET_MODE (x69) != HImode)
    return -1;
  x70 = XEXP (x69, 1);
  if (GET_CODE (x70) != PARALLEL
      || XVECLEN (x70, 0) != 1)
    return -1;
  x71 = XVECEXP (x70, 0, 0);
  if (x71 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x72 = XEXP (x68, 1);
  if (GET_CODE (x72) != VEC_SELECT
      || GET_MODE (x72) != HImode)
    return -1;
  x73 = XEXP (x72, 1);
  if (GET_CODE (x73) != PARALLEL
      || XVECLEN (x73, 0) != 1)
    return -1;
  x74 = XVECEXP (x73, 0, 0);
  if (x74 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x75 = XEXP (x67, 1);
  if (GET_CODE (x75) != i1)
    return -1;
  x76 = XEXP (x75, 0);
  if (GET_CODE (x76) != VEC_SELECT
      || GET_MODE (x76) != HImode)
    return -1;
  x77 = XEXP (x76, 1);
  if (GET_CODE (x77) != PARALLEL
      || XVECLEN (x77, 0) != 1)
    return -1;
  x78 = XVECEXP (x77, 0, 0);
  if (x78 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
    return -1;
  x79 = XEXP (x75, 1);
  if (GET_CODE (x79) != VEC_SELECT
      || GET_MODE (x79) != HImode)
    return -1;
  x80 = XEXP (x79, 1);
  if (GET_CODE (x80) != PARALLEL
      || XVECLEN (x80, 0) != 1)
    return -1;
  x81 = XVECEXP (x80, 0, 0);
  if (x81 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
    return -1;
  x82 = XEXP (x66, 1);
  x83 = XEXP (x82, 0);
  if (GET_CODE (x83) != i1)
    return -1;
  x84 = XEXP (x83, 0);
  if (GET_CODE (x84) != VEC_SELECT
      || GET_MODE (x84) != HImode)
    return -1;
  x85 = XEXP (x84, 1);
  if (GET_CODE (x85) != PARALLEL
      || XVECLEN (x85, 0) != 1)
    return -1;
  x86 = XVECEXP (x85, 0, 0);
  if (x86 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
    return -1;
  x87 = XEXP (x83, 1);
  if (GET_CODE (x87) != VEC_SELECT
      || GET_MODE (x87) != HImode)
    return -1;
  x88 = XEXP (x87, 1);
  if (GET_CODE (x88) != PARALLEL
      || XVECLEN (x88, 0) != 1)
    return -1;
  x89 = XVECEXP (x88, 0, 0);
  if (x89 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
    return -1;
  x90 = XEXP (x82, 1);
  if (GET_CODE (x90) != i1)
    return -1;
  x91 = XEXP (x90, 0);
  if (GET_CODE (x91) != VEC_SELECT
      || GET_MODE (x91) != HImode)
    return -1;
  x92 = XEXP (x91, 1);
  if (GET_CODE (x92) != PARALLEL
      || XVECLEN (x92, 0) != 1)
    return -1;
  x93 = XVECEXP (x92, 0, 0);
  if (x93 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
    return -1;
  x94 = XEXP (x90, 1);
  if (GET_CODE (x94) != VEC_SELECT
      || GET_MODE (x94) != HImode)
    return -1;
  x95 = XEXP (x94, 1);
  if (GET_CODE (x95) != PARALLEL
      || XVECLEN (x95, 0) != 1)
    return -1;
  x96 = XVECEXP (x95, 0, 0);
  if (x96 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
    return -1;
  x97 = XEXP (x65, 1);
  x98 = XEXP (x97, 0);
  x99 = XEXP (x98, 0);
  if (GET_CODE (x99) != i1)
    return -1;
  x100 = XEXP (x99, 0);
  if (GET_CODE (x100) != VEC_SELECT
      || GET_MODE (x100) != HImode)
    return -1;
  x101 = XEXP (x100, 1);
  if (GET_CODE (x101) != PARALLEL
      || XVECLEN (x101, 0) != 1)
    return -1;
  x102 = XVECEXP (x101, 0, 0);
  if (x102 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    return -1;
  x103 = XEXP (x99, 1);
  if (GET_CODE (x103) != VEC_SELECT
      || GET_MODE (x103) != HImode)
    return -1;
  x104 = XEXP (x103, 1);
  if (GET_CODE (x104) != PARALLEL
      || XVECLEN (x104, 0) != 1)
    return -1;
  x105 = XVECEXP (x104, 0, 0);
  if (x105 != const_int_rtx[MAX_SAVED_CONST_INT + 9])
    return -1;
  x106 = XEXP (x98, 1);
  if (GET_CODE (x106) != i1)
    return -1;
  x107 = XEXP (x106, 0);
  if (GET_CODE (x107) != VEC_SELECT
      || GET_MODE (x107) != HImode)
    return -1;
  x108 = XEXP (x107, 1);
  if (GET_CODE (x108) != PARALLEL
      || XVECLEN (x108, 0) != 1)
    return -1;
  x109 = XVECEXP (x108, 0, 0);
  if (x109 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
    return -1;
  x110 = XEXP (x106, 1);
  if (GET_CODE (x110) != VEC_SELECT
      || GET_MODE (x110) != HImode)
    return -1;
  x111 = XEXP (x110, 1);
  if (GET_CODE (x111) != PARALLEL
      || XVECLEN (x111, 0) != 1)
    return -1;
  x112 = XVECEXP (x111, 0, 0);
  if (x112 != const_int_rtx[MAX_SAVED_CONST_INT + 11])
    return -1;
  x113 = XEXP (x97, 1);
  x114 = XEXP (x113, 0);
  if (GET_CODE (x114) != i1)
    return -1;
  x115 = XEXP (x114, 0);
  if (GET_CODE (x115) != VEC_SELECT
      || GET_MODE (x115) != HImode)
    return -1;
  x116 = XEXP (x115, 1);
  if (GET_CODE (x116) != PARALLEL
      || XVECLEN (x116, 0) != 1)
    return -1;
  x117 = XVECEXP (x116, 0, 0);
  if (x117 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
    return -1;
  x118 = XEXP (x114, 1);
  if (GET_CODE (x118) != VEC_SELECT
      || GET_MODE (x118) != HImode)
    return -1;
  x119 = XEXP (x118, 1);
  if (GET_CODE (x119) != PARALLEL
      || XVECLEN (x119, 0) != 1)
    return -1;
  x120 = XVECEXP (x119, 0, 0);
  if (x120 != const_int_rtx[MAX_SAVED_CONST_INT + 13])
    return -1;
  x121 = XEXP (x113, 1);
  if (GET_CODE (x121) != i1)
    return -1;
  x122 = XEXP (x121, 0);
  if (GET_CODE (x122) != VEC_SELECT
      || GET_MODE (x122) != HImode)
    return -1;
  x123 = XEXP (x122, 1);
  if (GET_CODE (x123) != PARALLEL
      || XVECLEN (x123, 0) != 1)
    return -1;
  x124 = XVECEXP (x123, 0, 0);
  if (x124 != const_int_rtx[MAX_SAVED_CONST_INT + 14])
    return -1;
  x125 = XEXP (x121, 1);
  if (GET_CODE (x125) != VEC_SELECT
      || GET_MODE (x125) != HImode)
    return -1;
  x126 = XEXP (x125, 1);
  if (GET_CODE (x126) != PARALLEL
      || XVECLEN (x126, 0) != 1)
    return -1;
  x127 = XVECEXP (x126, 0, 0);
  if (x127 != const_int_rtx[MAX_SAVED_CONST_INT + 15])
    return -1;
  x128 = XEXP (x6, 0);
  operands[1] = x128;
  if (!register_operand (operands[1], V16HImode))
    return -1;
  x129 = XEXP (x69, 0);
  operands[2] = x129;
  if (!nonimmediate_operand (operands[2], V16HImode))
    return -1;
  x130 = XEXP (x9, 0);
  if (!rtx_equal_p (x130, operands[1]))
    return -1;
  x131 = XEXP (x13, 0);
  if (!rtx_equal_p (x131, operands[1]))
    return -1;
  x132 = XEXP (x16, 0);
  if (!rtx_equal_p (x132, operands[1]))
    return -1;
  x133 = XEXP (x21, 0);
  if (!rtx_equal_p (x133, operands[1]))
    return -1;
  x134 = XEXP (x24, 0);
  if (!rtx_equal_p (x134, operands[1]))
    return -1;
  x135 = XEXP (x28, 0);
  if (!rtx_equal_p (x135, operands[1]))
    return -1;
  x136 = XEXP (x31, 0);
  if (!rtx_equal_p (x136, operands[1]))
    return -1;
  x137 = XEXP (x37, 0);
  if (!rtx_equal_p (x137, operands[1]))
    return -1;
  x138 = XEXP (x40, 0);
  if (!rtx_equal_p (x138, operands[1]))
    return -1;
  x139 = XEXP (x44, 0);
  if (!rtx_equal_p (x139, operands[1]))
    return -1;
  x140 = XEXP (x47, 0);
  if (!rtx_equal_p (x140, operands[1]))
    return -1;
  x141 = XEXP (x52, 0);
  if (!rtx_equal_p (x141, operands[1]))
    return -1;
  x142 = XEXP (x55, 0);
  if (!rtx_equal_p (x142, operands[1]))
    return -1;
  x143 = XEXP (x59, 0);
  if (!rtx_equal_p (x143, operands[1]))
    return -1;
  x144 = XEXP (x62, 0);
  if (!rtx_equal_p (x144, operands[1]))
    return -1;
  x145 = XEXP (x72, 0);
  if (!rtx_equal_p (x145, operands[2]))
    return -1;
  x146 = XEXP (x76, 0);
  if (!rtx_equal_p (x146, operands[2]))
    return -1;
  x147 = XEXP (x79, 0);
  if (!rtx_equal_p (x147, operands[2]))
    return -1;
  x148 = XEXP (x84, 0);
  if (!rtx_equal_p (x148, operands[2]))
    return -1;
  x149 = XEXP (x87, 0);
  if (!rtx_equal_p (x149, operands[2]))
    return -1;
  x150 = XEXP (x91, 0);
  if (!rtx_equal_p (x150, operands[2]))
    return -1;
  x151 = XEXP (x94, 0);
  if (!rtx_equal_p (x151, operands[2]))
    return -1;
  x152 = XEXP (x100, 0);
  if (!rtx_equal_p (x152, operands[2]))
    return -1;
  x153 = XEXP (x103, 0);
  if (!rtx_equal_p (x153, operands[2]))
    return -1;
  x154 = XEXP (x107, 0);
  if (!rtx_equal_p (x154, operands[2]))
    return -1;
  x155 = XEXP (x110, 0);
  if (!rtx_equal_p (x155, operands[2]))
    return -1;
  x156 = XEXP (x115, 0);
  if (!rtx_equal_p (x156, operands[2]))
    return -1;
  x157 = XEXP (x118, 0);
  if (!rtx_equal_p (x157, operands[2]))
    return -1;
  x158 = XEXP (x122, 0);
  if (!rtx_equal_p (x158, operands[2]))
    return -1;
  x159 = XEXP (x125, 0);
  if (!rtx_equal_p (x159, operands[2]))
    return -1;
  return 0;
}

static int
pattern981 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  x6 = XEXP (x5, 0);
  operands[1] = x6;
  if (!nonimmediate_operand (operands[1], V8HImode))
    return -1;
  x7 = XEXP (x3, 1);
  x8 = XEXP (x7, 0);
  x9 = XEXP (x8, 0);
  operands[2] = x9;
  if (!nonimmediate_operand (operands[2], V8HImode))
    return -1;
  x10 = XEXP (x1, 1);
  operands[3] = x10;
  if (!register_operand (operands[3], V4SImode))
    return -1;
  x11 = XEXP (x2, 1);
  x12 = XEXP (x11, 0);
  x13 = XEXP (x12, 0);
  x14 = XEXP (x13, 0);
  if (!rtx_equal_p (x14, operands[1]))
    return -1;
  x15 = XEXP (x11, 1);
  x16 = XEXP (x15, 0);
  x17 = XEXP (x16, 0);
  if (!rtx_equal_p (x17, operands[2]))
    return -1;
  return 0;
}

static int
pattern982 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 8);
  if (XWINT (x2, 0) != 12LL)
    return -1;
  x3 = XVECEXP (x1, 0, 9);
  if (XWINT (x3, 0) != 44LL)
    return -1;
  x4 = XVECEXP (x1, 0, 10);
  if (XWINT (x4, 0) != 13LL)
    return -1;
  x5 = XVECEXP (x1, 0, 11);
  if (XWINT (x5, 0) != 45LL)
    return -1;
  x6 = XVECEXP (x1, 0, 12);
  if (XWINT (x6, 0) != 14LL)
    return -1;
  x7 = XVECEXP (x1, 0, 13);
  if (XWINT (x7, 0) != 46LL)
    return -1;
  x8 = XVECEXP (x1, 0, 14);
  if (XWINT (x8, 0) != 15LL)
    return -1;
  x9 = XVECEXP (x1, 0, 15);
  if (XWINT (x9, 0) != 47LL)
    return -1;
  return 0;
}

static int
pattern983 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i3)
      || GET_MODE (x1) != i3)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i3)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != i3)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != i2
      || !register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern984 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 24);
  if (XWINT (x3, 0) != 28LL)
    return -1;
  x4 = XVECEXP (x2, 0, 25);
  if (XWINT (x4, 0) != 60LL)
    return -1;
  x5 = XVECEXP (x2, 0, 26);
  if (XWINT (x5, 0) != 29LL)
    return -1;
  x6 = XVECEXP (x2, 0, 27);
  if (XWINT (x6, 0) != 61LL)
    return -1;
  x7 = XVECEXP (x2, 0, 28);
  if (XWINT (x7, 0) != 30LL)
    return -1;
  x8 = XVECEXP (x2, 0, 29);
  if (XWINT (x8, 0) != 62LL)
    return -1;
  x9 = XVECEXP (x2, 0, 30);
  if (XWINT (x9, 0) != 31LL)
    return -1;
  x10 = XVECEXP (x2, 0, 31);
  if (XWINT (x10, 0) != 63LL
      || pattern467 (x1, i1, i2) != 0)
    return -1;
  return 0;
}

static int
pattern985 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 1);
  x4 = XVECEXP (x3, 0, 24);
  if (XWINT (x4, 0) != 28LL)
    return -1;
  x5 = XVECEXP (x3, 0, 25);
  if (XWINT (x5, 0) != 60LL)
    return -1;
  x6 = XVECEXP (x3, 0, 26);
  if (XWINT (x6, 0) != 29LL)
    return -1;
  x7 = XVECEXP (x3, 0, 27);
  if (XWINT (x7, 0) != 61LL)
    return -1;
  x8 = XVECEXP (x3, 0, 28);
  if (XWINT (x8, 0) != 30LL)
    return -1;
  x9 = XVECEXP (x3, 0, 29);
  if (XWINT (x9, 0) != 62LL)
    return -1;
  x10 = XVECEXP (x3, 0, 30);
  if (XWINT (x10, 0) != 31LL)
    return -1;
  x11 = XVECEXP (x3, 0, 31);
  if (XWINT (x11, 0) != 63LL
      || pattern753 (x1, i1, i2) != 0)
    return -1;
  return 0;
}

static int
recog_1 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19, x20;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) != REG
      || REGNO (x2) != 17)
    return -1;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
    case MEM:
      operands[0] = x4;
      x5 = XEXP (x3, 1);
      operands[1] = x5;
      switch (GET_MODE (operands[0]))
        {
        case QImode:
          if (nonimmediate_operand (operands[0], QImode))
            {
              if (const0_operand (operands[1], QImode)
                  && 
#line 1270 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)))
                return 1; /* *cmpqi_ccno_1 */
              if (general_operand (operands[1], QImode)
                  && 
#line 1283 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCmode)))
                return 5; /* *cmpqi_1 */
            }
          break;

        case HImode:
          if (nonimmediate_operand (operands[0], HImode))
            {
              if (const0_operand (operands[1], HImode)
                  && 
#line 1270 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)))
                return 2; /* *cmphi_ccno_1 */
              if (general_operand (operands[1], HImode)
                  && 
#line 1283 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCmode)))
                return 6; /* *cmphi_1 */
            }
          break;

        case SImode:
          if (nonimmediate_operand (operands[0], SImode))
            {
              if (const0_operand (operands[1], SImode)
                  && 
#line 1270 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)))
                return 3; /* *cmpsi_ccno_1 */
              if (x86_64_general_operand (operands[1], SImode)
                  && 
#line 1283 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCmode)))
                return 7; /* *cmpsi_1 */
            }
          break;

        case DImode:
          if (nonimmediate_operand (operands[0], DImode))
            {
              if (const0_operand (operands[1], DImode)
                  && (
#line 1270 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return 4; /* *cmpdi_ccno_1 */
              if (x86_64_general_operand (operands[1], DImode)
                  && (
#line 1283 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCmode)) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return 8; /* *cmpdi_1 */
            }
          break;

        default:
          break;
        }
      switch (GET_MODE (x2))
        {
        case CCFPmode:
          switch (pattern344 (x3, CCFPmode))
            {
            case 0:
              if (
#line 1698 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
   || (TARGET_80387 && TARGET_CMOVE)))
                return 49; /* *cmpisf */
              break;

            case 1:
              if (
#line 1698 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
   || (TARGET_80387 && TARGET_CMOVE)))
                return 50; /* *cmpidf */
              break;

            case 2:
              if (
#line 1734 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && TARGET_CMOVE))
                return 53; /* *cmpixf_i387 */
              break;

            default:
              break;
            }
          break;

        case CCFPUmode:
          switch (pattern344 (x3, CCFPUmode))
            {
            case 0:
              if (
#line 1698 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
   || (TARGET_80387 && TARGET_CMOVE)))
                return 51; /* *cmpiusf */
              break;

            case 1:
              if (
#line 1698 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
   || (TARGET_80387 && TARGET_CMOVE)))
                return 52; /* *cmpiudf */
              break;

            case 2:
              if (
#line 1734 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && TARGET_CMOVE))
                return 54; /* *cmpiuxf_i387 */
              break;

            default:
              break;
            }
          break;

        default:
          break;
        }
      if (nonimmediate_operand (operands[0], QImode)
          && GET_CODE (x5) == SUBREG
          && pattern345 (x5) == 0
          && 
#line 1308 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCmode)))
        return 13; /* *cmpqi_ext_1 */
      if (GET_CODE (x4) != SUBREG
          || XINT (x4, 1) != 0
          || GET_MODE (x4) != QImode)
        return -1;
      x6 = XEXP (x4, 0);
      if (GET_CODE (x6) != ZERO_EXTRACT
          || GET_MODE (x6) != SImode)
        return -1;
      x7 = XEXP (x6, 1);
      if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
        return -1;
      x8 = XEXP (x6, 2);
      if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
        return -1;
      x9 = XEXP (x6, 0);
      operands[0] = x9;
      if (!ext_register_operand (operands[0], VOIDmode))
        return -1;
      operands[1] = x5;
      if (const0_operand (operands[1], QImode)
          && 
#line 1323 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)))
        return 14; /* *cmpqi_ext_2 */
      if (general_operand (operands[1], QImode)
          && 
#line 1348 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCmode)))
        return 15; /* *cmpqi_ext_3 */
      if (GET_CODE (x5) != SUBREG
          || pattern345 (x5) != 0
          || !
#line 1367 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCmode)))
        return -1;
      return 16; /* *cmpqi_ext_4 */

    case MINUS:
      x5 = XEXP (x3, 1);
      if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x6 = XEXP (x4, 0);
      operands[0] = x6;
      x10 = XEXP (x4, 1);
      operands[1] = x10;
      switch (GET_MODE (x4))
        {
        case QImode:
          if (!nonimmediate_operand (operands[0], QImode)
              || !general_operand (operands[1], QImode)
              || !
#line 1294 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCGOCmode)))
            return -1;
          return 9; /* *cmpqi_minus_1 */

        case HImode:
          if (!nonimmediate_operand (operands[0], HImode)
              || !general_operand (operands[1], HImode)
              || !
#line 1294 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCGOCmode)))
            return -1;
          return 10; /* *cmphi_minus_1 */

        case SImode:
          if (!nonimmediate_operand (operands[0], SImode)
              || !x86_64_general_operand (operands[1], SImode)
              || !
#line 1294 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCGOCmode)))
            return -1;
          return 11; /* *cmpsi_minus_1 */

        case DImode:
          if (!nonimmediate_operand (operands[0], DImode)
              || !x86_64_general_operand (operands[1], DImode)
              || !(
#line 1294 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCGOCmode)) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          return 12; /* *cmpdi_minus_1 */

        default:
          return -1;
        }

    case PLUS:
      if (pnum_clobbers == NULL
          || GET_MODE (x2) != CCCmode
          || GET_MODE (x3) != CCCmode)
        return -1;
      x6 = XEXP (x4, 0);
      operands[1] = x6;
      x10 = XEXP (x4, 1);
      operands[2] = x10;
      x5 = XEXP (x3, 1);
      if (!rtx_equal_p (x5, operands[1]))
        return -1;
      switch (pattern36 (x4))
        {
        case 0:
          if (!
#line 6802 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))))
            return -1;
          *pnum_clobbers = 1;
          return 309; /* *addqi3_cconly_overflow_1 */

        case 1:
          if (!
#line 6802 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))))
            return -1;
          *pnum_clobbers = 1;
          return 310; /* *addhi3_cconly_overflow_1 */

        case 2:
          if (!
#line 6802 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))))
            return -1;
          *pnum_clobbers = 1;
          return 311; /* *addsi3_cconly_overflow_1 */

        case 3:
          if (!(
#line 6802 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          *pnum_clobbers = 1;
          return 312; /* *adddi3_cconly_overflow_1 */

        default:
          return -1;
        }

    case UNSPEC:
      if (pnum_clobbers == NULL
          || XVECLEN (x4, 0) != 2
          || XINT (x4, 1) != 87)
        return -1;
      x5 = XEXP (x3, 1);
      if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
          || GET_MODE (x2) != CCZmode
          || GET_MODE (x3) != CCZmode)
        return -1;
      x11 = XVECEXP (x4, 0, 0);
      operands[1] = x11;
      x12 = XVECEXP (x4, 0, 1);
      operands[2] = x12;
      switch (GET_MODE (x4))
        {
        case SImode:
          if (!nonimmediate_operand (operands[1], SImode)
              || !register_operand (operands[2], SImode)
              || !
#line 12975 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI))
            return -1;
          *pnum_clobbers = 1;
          return 726; /* *bmi_bextr_si_ccz */

        case DImode:
          if (!nonimmediate_operand (operands[1], DImode)
              || !register_operand (operands[2], DImode)
              || !(
#line 12975 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          *pnum_clobbers = 1;
          return 727; /* *bmi_bextr_di_ccz */

        default:
          return -1;
        }

    case ZERO_EXTRACT:
      if (pnum_clobbers == NULL)
        return -1;
      x10 = XEXP (x4, 1);
      if (GET_CODE (x10) != UMIN)
        return -1;
      x13 = XEXP (x10, 0);
      if (GET_CODE (x13) != ZERO_EXTEND)
        return -1;
      x14 = XEXP (x4, 2);
      if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x5 = XEXP (x3, 1);
      if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
          || GET_MODE (x2) != CCZmode
          || GET_MODE (x3) != CCZmode)
        return -1;
      x6 = XEXP (x4, 0);
      operands[1] = x6;
      x15 = XEXP (x13, 0);
      operands[2] = x15;
      if (!register_operand (operands[2], QImode))
        return -1;
      x16 = XEXP (x10, 1);
      operands[3] = x16;
      switch (GET_MODE (x4))
        {
        case SImode:
          if (pattern749 (x10, SImode) != 0
              || !
#line 13081 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI2 && INTVAL (operands[3]) == 4 * BITS_PER_UNIT))
            return -1;
          *pnum_clobbers = 1;
          return 738; /* *bmi2_bzhi_si3_1_ccz */

        case DImode:
          if (pattern749 (x10, DImode) != 0
              || !(
#line 13081 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI2 && INTVAL (operands[3]) == 8 * BITS_PER_UNIT) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          *pnum_clobbers = 1;
          return 739; /* *bmi2_bzhi_di3_1_ccz */

        default:
          return -1;
        }

    case VEC_SELECT:
      x10 = XEXP (x4, 1);
      if (GET_CODE (x10) != PARALLEL
          || XVECLEN (x10, 0) != 1)
        return -1;
      x17 = XVECEXP (x10, 0, 0);
      if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x5 = XEXP (x3, 1);
      if (GET_CODE (x5) != VEC_SELECT)
        return -1;
      x18 = XEXP (x5, 1);
      if (GET_CODE (x18) != PARALLEL
          || XVECLEN (x18, 0) != 1)
        return -1;
      x19 = XVECEXP (x18, 0, 0);
      if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x6 = XEXP (x4, 0);
      operands[0] = x6;
      x20 = XEXP (x5, 0);
      operands[1] = x20;
      switch (GET_MODE (x2))
        {
        case CCFPmode:
          switch (pattern695 (x3, CCFPmode))
            {
            case 0:
              if (!
#line 2692 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(SSE_FLOAT_MODE_P (SFmode)))
                return -1;
              return 1721; /* sse_comi */

            case 1:
              if (!
#line 2692 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(SSE_FLOAT_MODE_P (DFmode)))
                return -1;
              return 1723; /* sse2_comi */

            default:
              return -1;
            }

        case CCFPUmode:
          switch (pattern695 (x3, CCFPUmode))
            {
            case 0:
              if (!
#line 2712 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(SSE_FLOAT_MODE_P (SFmode)))
                return -1;
              return 1725; /* sse_ucomi */

            case 1:
              if (!
#line 2712 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(SSE_FLOAT_MODE_P (DFmode)))
                return -1;
              return 1727; /* sse2_ucomi */

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_2 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != HImode)
    return -1;
  x3 = XEXP (x1, 0);
  operands[0] = x3;
  if (!register_operand (operands[0], HImode))
    return -1;
  x4 = XVECEXP (x2, 0, 0);
  switch (GET_CODE (x4))
    {
    case COMPARE:
      x5 = XEXP (x4, 0);
      operands[1] = x5;
      x6 = XEXP (x4, 1);
      switch (GET_CODE (x6))
        {
        case CONST_INT:
        case CONST_DOUBLE:
        case CONST_VECTOR:
          operands[2] = x6;
          if (GET_MODE (x4) != CCFPmode)
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case SFmode:
              if (!register_operand (operands[1], SFmode)
                  || !const0_operand (operands[2], SFmode)
                  || !
#line 1484 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387))
                return -1;
              return 17; /* *cmpsf_0_i387 */

            case DFmode:
              if (!register_operand (operands[1], DFmode)
                  || !const0_operand (operands[2], DFmode)
                  || !
#line 1484 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387))
                return -1;
              return 18; /* *cmpdf_0_i387 */

            case XFmode:
              if (!register_operand (operands[1], XFmode)
                  || !const0_operand (operands[2], XFmode)
                  || !
#line 1484 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387))
                return -1;
              return 19; /* *cmpxf_0_i387 */

            default:
              return -1;
            }

        case REG:
        case SUBREG:
        case MEM:
          operands[2] = x6;
          switch (GET_MODE (x4))
            {
            case CCFPmode:
              switch (GET_MODE (operands[1]))
                {
                case XFmode:
                  if (!register_operand (operands[1], XFmode)
                      || !register_operand (operands[2], XFmode)
                      || !
#line 1517 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387))
                    return -1;
                  return 23; /* *cmpxf_i387 */

                case SFmode:
                  if (!register_operand (operands[1], SFmode)
                      || !nonimmediate_operand (operands[2], SFmode)
                      || !
#line 1550 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387))
                    return -1;
                  return 25; /* *cmpsf_i387 */

                case DFmode:
                  if (!register_operand (operands[1], DFmode)
                      || !nonimmediate_operand (operands[2], DFmode)
                      || !
#line 1550 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387))
                    return -1;
                  return 26; /* *cmpdf_i387 */

                default:
                  return -1;
                }

            case CCFPUmode:
              switch (GET_MODE (operands[1]))
                {
                case SFmode:
                  if (!register_operand (operands[1], SFmode)
                      || !register_operand (operands[2], SFmode)
                      || !
#line 1583 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387))
                    return -1;
                  return 29; /* *cmpusf_i387 */

                case DFmode:
                  if (!register_operand (operands[1], DFmode)
                      || !register_operand (operands[2], DFmode)
                      || !
#line 1583 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387))
                    return -1;
                  return 30; /* *cmpudf_i387 */

                case XFmode:
                  if (!register_operand (operands[1], XFmode)
                      || !register_operand (operands[2], XFmode)
                      || !
#line 1583 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387))
                    return -1;
                  return 31; /* *cmpuxf_i387 */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case FLOAT:
          operands[3] = x6;
          if (GET_MODE (x4) != CCFPmode)
            return -1;
          x7 = XEXP (x6, 0);
          operands[2] = x7;
          switch (GET_MODE (operands[1]))
            {
            case SFmode:
              switch (pattern645 (SFmode))
                {
                case 0:
                  if (!
#line 1617 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387
   && (TARGET_USE_HIMODE_FIOP
       || optimize_function_for_size_p (cfun))))
                    return -1;
                  return 35; /* *cmpsf_hi_i387 */

                case 1:
                  if (!
#line 1617 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387
   && (TARGET_USE_SIMODE_FIOP
       || optimize_function_for_size_p (cfun))))
                    return -1;
                  return 38; /* *cmpsf_si_i387 */

                default:
                  return -1;
                }

            case DFmode:
              switch (pattern645 (DFmode))
                {
                case 0:
                  if (!
#line 1617 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387
   && (TARGET_USE_HIMODE_FIOP
       || optimize_function_for_size_p (cfun))))
                    return -1;
                  return 36; /* *cmpdf_hi_i387 */

                case 1:
                  if (!
#line 1617 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387
   && (TARGET_USE_SIMODE_FIOP
       || optimize_function_for_size_p (cfun))))
                    return -1;
                  return 39; /* *cmpdf_si_i387 */

                default:
                  return -1;
                }

            case XFmode:
              switch (pattern645 (XFmode))
                {
                case 0:
                  if (!
#line 1617 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387
   && (TARGET_USE_HIMODE_FIOP
       || optimize_function_for_size_p (cfun))))
                    return -1;
                  return 37; /* *cmpxf_hi_i387 */

                case 1:
                  if (!
#line 1617 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387
   && (TARGET_USE_SIMODE_FIOP
       || optimize_function_for_size_p (cfun))))
                    return -1;
                  return 40; /* *cmpxf_si_i387 */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    case REG:
      if (REGNO (x4) != 18
          || GET_MODE (x4) != CCFPmode
          || !
#line 1658 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387))
        return -1;
      return 47; /* x86_fnstsw_1 */

    default:
      return -1;
    }
}

static int
recog_3 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (pattern59 (x1, CCmode) != 0)
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case V16QImode:
      if (!register_operand (operands[0], V16QImode)
          || !vector_operand (operands[1], V16QImode)
          || !
#line 15484 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1))
        return -1;
      return 3908; /* sse4_1_ptestv16qi */

    case V8HImode:
      if (!register_operand (operands[0], V8HImode)
          || !vector_operand (operands[1], V8HImode)
          || !
#line 15484 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1))
        return -1;
      return 3909; /* sse4_1_ptestv8hi */

    case V4SImode:
      if (!register_operand (operands[0], V4SImode)
          || !vector_operand (operands[1], V4SImode)
          || !
#line 15484 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1))
        return -1;
      return 3910; /* sse4_1_ptestv4si */

    case V2DImode:
      if (!register_operand (operands[0], V2DImode)
          || !vector_operand (operands[1], V2DImode)
          || !
#line 15484 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1))
        return -1;
      return 3911; /* sse4_1_ptestv2di */

    case V4SFmode:
      if (!register_operand (operands[0], V4SFmode)
          || !vector_operand (operands[1], V4SFmode)
          || !
#line 15484 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1))
        return -1;
      return 3912; /* sse4_1_ptestv4sf */

    case V2DFmode:
      if (!register_operand (operands[0], V2DFmode)
          || !vector_operand (operands[1], V2DFmode)
          || !
#line 15484 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1))
        return -1;
      return 3913; /* sse4_1_ptestv2df */

    case V32QImode:
      if (!register_operand (operands[0], V32QImode)
          || !vector_operand (operands[1], V32QImode)
          || !(
#line 15484 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1) && 
#line 305 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
        return -1;
      return 3914; /* avx_ptestv32qi */

    case V16HImode:
      if (!register_operand (operands[0], V16HImode)
          || !vector_operand (operands[1], V16HImode)
          || !(
#line 15484 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1) && 
#line 305 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
        return -1;
      return 3915; /* avx_ptestv16hi */

    case V8SImode:
      if (!register_operand (operands[0], V8SImode)
          || !vector_operand (operands[1], V8SImode)
          || !(
#line 15484 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1) && 
#line 306 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
        return -1;
      return 3916; /* avx_ptestv8si */

    case V4DImode:
      if (!register_operand (operands[0], V4DImode)
          || !vector_operand (operands[1], V4DImode)
          || !(
#line 15484 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1) && 
#line 306 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
        return -1;
      return 3917; /* avx_ptestv4di */

    case V8SFmode:
      if (!register_operand (operands[0], V8SFmode)
          || !vector_operand (operands[1], V8SFmode)
          || !(
#line 15484 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1) && 
#line 307 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
        return -1;
      return 3918; /* avx_ptestv8sf */

    case V4DFmode:
      if (!register_operand (operands[0], V4DFmode)
          || !vector_operand (operands[1], V4DFmode)
          || !(
#line 15484 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1) && 
#line 307 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
        return -1;
      return 3919; /* avx_ptestv4df */

    case TFmode:
      if (!register_operand (operands[0], TFmode)
          || !vector_operand (operands[1], TFmode)
          || !
#line 15502 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1))
        return -1;
      return 3920; /* ptesttf2 */

    default:
      return -1;
    }
}

static int
recog_4 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (XINT (x2, 1))
    {
    case 53:
      if (pnum_clobbers == NULL
          || GET_MODE (x2) != XFmode)
        return -1;
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      if (!register_operand (operands[0], XFmode))
        return -1;
      x4 = XVECEXP (x2, 0, 0);
      switch (GET_CODE (x4))
        {
        case REG:
        case SUBREG:
          operands[1] = x4;
          if (!register_operand (operands[1], XFmode))
            return -1;
          x5 = XVECEXP (x2, 0, 1);
          operands[2] = x5;
          if (!register_operand (operands[2], XFmode)
              || !
#line 14730 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
            return -1;
          *pnum_clobbers = 1;
          return 850; /* *fpatanxf3_i387 */

        case FLOAT_EXTEND:
          if (GET_MODE (x4) != XFmode)
            return -1;
          x5 = XVECEXP (x2, 0, 1);
          if (GET_CODE (x5) != FLOAT_EXTEND
              || GET_MODE (x5) != XFmode)
            return -1;
          x6 = XEXP (x4, 0);
          operands[1] = x6;
          x7 = XEXP (x5, 0);
          operands[2] = x7;
          switch (GET_MODE (operands[1]))
            {
            case SFmode:
              if (!register_operand (operands[1], SFmode)
                  || !register_operand (operands[2], SFmode)
                  || !
#line 14745 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
              *pnum_clobbers = 1;
              return 851; /* fpatan_extendsfxf3_i387 */

            case DFmode:
              if (!register_operand (operands[1], DFmode)
                  || !register_operand (operands[2], DFmode)
                  || !
#line 14745 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
              *pnum_clobbers = 1;
              return 852; /* fpatan_extenddfxf3_i387 */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 54:
      switch (pattern51 (x1, pnum_clobbers))
        {
        case 0:
          if (!
#line 14892 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
            return -1;
          *pnum_clobbers = 1;
          return 853; /* fyl2xxf3_i387 */

        case 1:
          if (!
#line 14906 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
          *pnum_clobbers = 1;
          return 854; /* fyl2x_extendsfxf3_i387 */

        case 2:
          if (!
#line 14906 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
          *pnum_clobbers = 1;
          return 855; /* fyl2x_extenddfxf3_i387 */

        default:
          return -1;
        }

    case 55:
      switch (pattern51 (x1, pnum_clobbers))
        {
        case 0:
          if (!
#line 15011 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
            return -1;
          *pnum_clobbers = 1;
          return 856; /* fyl2xp1xf3_i387 */

        case 1:
          if (!
#line 15025 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
          *pnum_clobbers = 1;
          return 857; /* fyl2xp1_extendsfxf3_i387 */

        case 2:
          if (!
#line 15025 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
          *pnum_clobbers = 1;
          return 858; /* fyl2xp1_extenddfxf3_i387 */

        default:
          return -1;
        }

    case 83:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x2, 0, 1);
      operands[2] = x5;
      if (!const_0_to_15_operand (operands[2], SImode))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case SFmode:
          if (!register_operand (operands[0], SFmode)
              || GET_MODE (x2) != SFmode
              || !register_operand (operands[1], SFmode)
              || !
#line 15472 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_ROUND))
            return -1;
          return 864; /* sse4_1_roundsf2 */

        case DFmode:
          if (!register_operand (operands[0], DFmode)
              || GET_MODE (x2) != DFmode
              || !register_operand (operands[1], DFmode)
              || !
#line 15472 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_ROUND))
            return -1;
          return 865; /* sse4_1_rounddf2 */

        default:
          return -1;
        }

    case 50:
      switch (pattern53 (x1))
        {
        case 0:
          if (!
#line 17376 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH))
            return -1;
          return 977; /* *ieee_smaxsf3 */

        case 1:
          if (!
#line 17376 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH))
            return -1;
          return 979; /* *ieee_smaxdf3 */

        case 2:
          if (!
#line 343 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_3DNOW))
            return -1;
          return 1105; /* mmx_ieee_maxv2sf3 */

        default:
          return -1;
        }

    case 49:
      switch (pattern53 (x1))
        {
        case 0:
          if (!
#line 17376 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH))
            return -1;
          return 978; /* *ieee_sminsf3 */

        case 1:
          if (!
#line 17376 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH))
            return -1;
          return 980; /* *ieee_smindf3 */

        case 2:
          if (!
#line 343 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_3DNOW))
            return -1;
          return 1106; /* mmx_ieee_minv2sf3 */

        default:
          return -1;
        }

    case 80:
      switch (pattern54 (x1, pnum_clobbers))
        {
        case 0:
          if (!memory_operand (operands[1], SImode)
              || !memory_operand (operands[2], SImode)
              || !(
#line 18741 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_SSP_TLS_GUARD) && 
#line 1200 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ptr_mode == SImode)))
            return -1;
          *pnum_clobbers = 1;
          return 1001; /* stack_protect_test_si */

        case 1:
          if (!memory_operand (operands[1], DImode)
              || !memory_operand (operands[2], DImode)
              || !(
#line 18741 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_SSP_TLS_GUARD) && 
#line 1200 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ptr_mode == DImode)))
            return -1;
          *pnum_clobbers = 1;
          return 1002; /* stack_protect_test_di */

        default:
          return -1;
        }

    case 82:
      switch (pattern54 (x1, pnum_clobbers))
        {
        case 0:
          if (!memory_operand (operands[1], SImode)
              || !const_int_operand (operands[2], SImode)
              || !
#line 1200 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ptr_mode == SImode))
            return -1;
          *pnum_clobbers = 1;
          return 1003; /* stack_tls_protect_test_si */

        case 1:
          if (!memory_operand (operands[1], DImode)
              || !const_int_operand (operands[2], DImode)
              || !
#line 1200 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ptr_mode == DImode))
            return -1;
          *pnum_clobbers = 1;
          return 1004; /* stack_tls_protect_test_di */

        default:
          return -1;
        }

    case 102:
      if (pattern55 (x1, V2SFmode) != 0
          || !
#line 364 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_3DNOW))
        return -1;
      return 1108; /* mmx_rcpit1v2sf3 */

    case 103:
      if (pattern55 (x1, V2SFmode) != 0
          || !
#line 375 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_3DNOW))
        return -1;
      return 1109; /* mmx_rcpit2v2sf3 */

    case 105:
      if (pattern55 (x1, V2SFmode) != 0
          || !
#line 396 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_3DNOW))
        return -1;
      return 1111; /* mmx_rsqit1v2sf3 */

    case 47:
      if (GET_MODE (x2) != V1DImode)
        return -1;
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      if (!register_operand (operands[0], V1DImode))
        return -1;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      if (!register_operand (operands[1], V8QImode))
        return -1;
      x5 = XVECEXP (x2, 0, 1);
      operands[2] = x5;
      if (!nonimmediate_operand (operands[2], V8QImode)
          || !
#line 1527 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_SSE || TARGET_3DNOW_A))
        return -1;
      return 1200; /* mmx_psadbw */

    case 172:
      switch (pattern56 (x1))
        {
        case 0:
          if (!(
#line 1443 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1312 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ)))
            return -1;
          return 1332; /* ktestqi */

        case 1:
          if (!(
#line 1443 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1312 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ)))
            return -1;
          return 1333; /* ktesthi */

        case 2:
          if (!(
#line 1443 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1313 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 1334; /* ktestsi */

        case 3:
          if (!(
#line 1443 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1313 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 1335; /* ktestdi */

        default:
          return -1;
        }

    case 171:
      switch (pattern56 (x1))
        {
        case 0:
          if (!(
#line 1455 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1303 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ)))
            return -1;
          return 1336; /* kortestqi */

        case 1:
          if (!
#line 1455 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 1337; /* kortesthi */

        case 2:
          if (!(
#line 1455 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1303 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 1338; /* kortestsi */

        case 3:
          if (!(
#line 1455 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1303 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 1339; /* kortestdi */

        default:
          return -1;
        }

    case 168:
      switch (pattern58 (x1))
        {
        case 0:
          if (!(
#line 11146 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (EQ, V16QImode, operands)) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 3338; /* avx512vl_eqv16qi3_1 */

        case 1:
          if (!(
#line 11146 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (EQ, V16HImode, operands)) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 3344; /* avx512vl_eqv16hi3_1 */

        case 2:
          if (!
#line 11159 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (EQ, V16SImode, operands)))
            return -1;
          return 3348; /* avx512f_eqv16si3_1 */

        case 3:
          if (!(
#line 11146 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (EQ, V8HImode, operands)) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 3346; /* avx512vl_eqv8hi3_1 */

        case 4:
          if (!(
#line 11159 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (EQ, V8SImode, operands)) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 3350; /* avx512vl_eqv8si3_1 */

        case 5:
          if (!(
#line 11159 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (EQ, V4SImode, operands)) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 3352; /* avx512vl_eqv4si3_1 */

        case 6:
          if (!
#line 11159 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (EQ, V8DImode, operands)))
            return -1;
          return 3354; /* avx512f_eqv8di3_1 */

        case 7:
          if (!(
#line 11159 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (EQ, V4DImode, operands)) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 3356; /* avx512vl_eqv4di3_1 */

        case 8:
          if (!(
#line 11159 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (EQ, V2DImode, operands)) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 3358; /* avx512vl_eqv2di3_1 */

        default:
          return -1;
        }

    case 169:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x2, 0, 1);
      operands[2] = x5;
      switch (pattern207 (x2))
        {
        case 0:
          switch (GET_MODE (operands[1]))
            {
            case V16SImode:
              if (!register_operand (operands[1], V16SImode)
                  || !nonimmediate_operand (operands[2], V16SImode)
                  || !
#line 11247 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return -1;
              return 3369; /* avx512f_gtv16si3 */

            case V16QImode:
              if (!register_operand (operands[1], V16QImode)
                  || !nonimmediate_operand (operands[2], V16QImode)
                  || !(
#line 11259 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 3383; /* avx512vl_gtv16qi3 */

            case V16HImode:
              if (!register_operand (operands[1], V16HImode)
                  || !nonimmediate_operand (operands[2], V16HImode)
                  || !(
#line 11259 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 3389; /* avx512vl_gtv16hi3 */

            default:
              return -1;
            }

        case 1:
          switch (GET_MODE (operands[1]))
            {
            case V8SImode:
              if (!register_operand (operands[1], V8SImode)
                  || !nonimmediate_operand (operands[2], V8SImode)
                  || !(
#line 11247 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 3371; /* avx512vl_gtv8si3 */

            case V4SImode:
              if (!register_operand (operands[1], V4SImode)
                  || !nonimmediate_operand (operands[2], V4SImode)
                  || !(
#line 11247 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 3373; /* avx512vl_gtv4si3 */

            case V8DImode:
              if (!register_operand (operands[1], V8DImode)
                  || !nonimmediate_operand (operands[2], V8DImode)
                  || !
#line 11247 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return -1;
              return 3375; /* avx512f_gtv8di3 */

            case V4DImode:
              if (!register_operand (operands[1], V4DImode)
                  || !nonimmediate_operand (operands[2], V4DImode)
                  || !(
#line 11247 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 3377; /* avx512vl_gtv4di3 */

            case V2DImode:
              if (!register_operand (operands[1], V2DImode)
                  || !nonimmediate_operand (operands[2], V2DImode)
                  || !(
#line 11247 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 3379; /* avx512vl_gtv2di3 */

            case V8HImode:
              if (!register_operand (operands[1], V8HImode)
                  || !nonimmediate_operand (operands[2], V8HImode)
                  || !(
#line 11259 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 3391; /* avx512vl_gtv8hi3 */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 153:
      switch (pattern58 (x1))
        {
        case 0:
          if (!(
#line 11849 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 3488; /* avx512vl_testmv16qi3 */

        case 1:
          if (!(
#line 11849 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 3494; /* avx512vl_testmv16hi3 */

        case 2:
          if (!
#line 11860 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 3498; /* avx512f_testmv16si3 */

        case 3:
          if (!(
#line 11849 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 3496; /* avx512vl_testmv8hi3 */

        case 4:
          if (!(
#line 11860 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 3500; /* avx512vl_testmv8si3 */

        case 5:
          if (!(
#line 11860 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 3502; /* avx512vl_testmv4si3 */

        case 6:
          if (!
#line 11860 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 3504; /* avx512f_testmv8di3 */

        case 7:
          if (!(
#line 11860 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 3506; /* avx512vl_testmv4di3 */

        case 8:
          if (!(
#line 11860 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 3508; /* avx512vl_testmv2di3 */

        default:
          return -1;
        }

    case 154:
      switch (pattern58 (x1))
        {
        case 0:
          if (!(
#line 11871 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 3512; /* avx512vl_testnmv16qi3 */

        case 1:
          if (!(
#line 11871 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 3518; /* avx512vl_testnmv16hi3 */

        case 2:
          if (!
#line 11882 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 3522; /* avx512f_testnmv16si3 */

        case 3:
          if (!(
#line 11871 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 3520; /* avx512vl_testnmv8hi3 */

        case 4:
          if (!(
#line 11882 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 3524; /* avx512vl_testnmv8si3 */

        case 5:
          if (!(
#line 11882 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 3526; /* avx512vl_testnmv4si3 */

        case 6:
          if (!
#line 11882 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 3528; /* avx512f_testnmv8di3 */

        case 7:
          if (!(
#line 11882 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 3530; /* avx512vl_testnmv4di3 */

        case 8:
          if (!(
#line 11882 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 3532; /* avx512vl_testnmv2di3 */

        default:
          return -1;
        }

    case 108:
      if (pattern55 (x1, V8QImode) != 0
          || !
#line 14751 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3))
        return -1;
      return 3750; /* ssse3_pshufbv8qi3 */

    case 109:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x2, 0, 1);
      operands[2] = x5;
      switch (GET_MODE (operands[0]))
        {
        case V8QImode:
          if (pattern52 (x2, V8QImode) != 0
              || !
#line 14781 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3))
            return -1;
          return 3757; /* ssse3_psignv8qi3 */

        case V4HImode:
          if (pattern52 (x2, V4HImode) != 0
              || !
#line 14781 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3))
            return -1;
          return 3758; /* ssse3_psignv4hi3 */

        case V2SImode:
          if (pattern52 (x2, V2SImode) != 0
              || !
#line 14781 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3))
            return -1;
          return 3759; /* ssse3_psignv2si3 */

        default:
          return -1;
        }

    case 141:
      if (pattern59 (x1, CCmode) != 0)
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case V8SFmode:
          if (!register_operand (operands[0], V8SFmode)
              || !nonimmediate_operand (operands[1], V8SFmode)
              || !
#line 15470 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
            return -1;
          return 3904; /* avx_vtestps256 */

        case V4SFmode:
          if (!register_operand (operands[0], V4SFmode)
              || !nonimmediate_operand (operands[1], V4SFmode)
              || !
#line 15470 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
            return -1;
          return 3905; /* avx_vtestps */

        case V4DFmode:
          if (!register_operand (operands[0], V4DFmode)
              || !nonimmediate_operand (operands[1], V4DFmode)
              || !
#line 15470 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
            return -1;
          return 3906; /* avx_vtestpd256 */

        case V2DFmode:
          if (!register_operand (operands[0], V2DFmode)
              || !nonimmediate_operand (operands[1], V2DFmode)
              || !(
#line 15470 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX) && 
#line 231 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
            return -1;
          return 3907; /* avx_vtestpd */

        default:
          return -1;
        }

    case 121:
      return recog_3 (x1, insn, pnum_clobbers);

    case 143:
      if (GET_MODE (x2) != V4HImode)
        return -1;
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      if (!memory_operand (operands[0], V4HImode))
        return -1;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      if (!register_operand (operands[1], V4SFmode))
        return -1;
      x5 = XVECEXP (x2, 0, 1);
      operands[2] = x5;
      if (!const_0_to_255_operand (operands[2], SImode)
          || !
#line 18933 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_F16C || TARGET_AVX512VL))
        return -1;
      return 4544; /* *vcvtps2ph_store */

    case 193:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x2, 0, 1);
      operands[2] = x5;
      if (!const_0_to_255_operand (operands[2], QImode))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case HImode:
          if (!register_operand (operands[0], HImode)
              || GET_MODE (x2) != HImode
              || !register_operand (operands[1], V16SFmode)
              || !
#line 19450 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ))
            return -1;
          return 4821; /* avx512dq_fpclassv16sf */

        case QImode:
          if (!register_operand (operands[0], QImode)
              || GET_MODE (x2) != QImode)
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case V8SFmode:
              if (!register_operand (operands[1], V8SFmode)
                  || !(
#line 19450 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 4823; /* avx512dq_fpclassv8sf */

            case V4SFmode:
              if (!register_operand (operands[1], V4SFmode)
                  || !(
#line 19450 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 4825; /* avx512dq_fpclassv4sf */

            case V8DFmode:
              if (!register_operand (operands[1], V8DFmode)
                  || !
#line 19450 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ))
                return -1;
              return 4827; /* avx512dq_fpclassv8df */

            case V4DFmode:
              if (!register_operand (operands[1], V4DFmode)
                  || !(
#line 19450 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 4829; /* avx512dq_fpclassv4df */

            case V2DFmode:
              if (!register_operand (operands[1], V2DFmode)
                  || !(
#line 19450 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 4831; /* avx512dq_fpclassv2df */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 210:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x2, 0, 1);
      operands[2] = x5;
      if (!const_int_operand (operands[2], SImode))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case QImode:
          if (!memory_operand (operands[0], QImode)
              || GET_MODE (x2) != QImode
              || !nonmemory_operand (operands[1], QImode))
            return -1;
          return 4959; /* atomic_storeqi_1 */

        case HImode:
          if (!memory_operand (operands[0], HImode)
              || GET_MODE (x2) != HImode
              || !nonmemory_operand (operands[1], HImode))
            return -1;
          return 4960; /* atomic_storehi_1 */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_5 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (XINT (x2, 1))
    {
    case 26:
      return recog_2 (x1, insn, pnum_clobbers);

    case 27:
      if (pattern44 (x1, CCmode, 17) != 0
          || !register_operand (operands[0], HImode)
          || !
#line 1671 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_SAHF))
        return -1;
      return 48; /* x86_sahf_1 */

    case 29:
      if (GET_MODE (x2) != HImode)
        return -1;
      x3 = XVECEXP (x2, 0, 0);
      if (GET_CODE (x3) != REG
          || REGNO (x3) != 19
          || GET_MODE (x3) != HImode)
        return -1;
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      if (!memory_operand (operands[0], HImode)
          || !
#line 5095 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387))
        return -1;
      return 192; /* x86_fnstcw_1 */

    case 30:
      if (pattern44 (x1, HImode, 19) != 0
          || !memory_operand (operands[0], HImode)
          || !
#line 5106 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387))
        return -1;
      return 193; /* x86_fldcw_1 */

    case 86:
      if (pattern45 (x1, pnum_clobbers) != 0
          || !
#line 12889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI))
        return -1;
      *pnum_clobbers = 1;
      return 722; /* tzcnt_hi */

    case 85:
      if (pattern45 (x1, pnum_clobbers) != 0
          || !
#line 12890 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_LZCNT))
        return -1;
      *pnum_clobbers = 1;
      return 723; /* lzcnt_hi */

    case 28:
      if (pnum_clobbers == NULL
          || GET_MODE (x2) != CCmode)
        return -1;
      x4 = XEXP (x1, 0);
      if (GET_CODE (x4) != REG
          || REGNO (x4) != 17
          || GET_MODE (x4) != CCmode)
        return -1;
      x3 = XVECEXP (x2, 0, 0);
      switch (GET_MODE (x3))
        {
        case DImode:
          operands[3] = x3;
          if (!register_operand (operands[3], DImode)
              || !
#line 13452 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(! TARGET_POPCNT))
            return -1;
          *pnum_clobbers = 3;
          return 776; /* paritydi2_cmp */

        case SImode:
          operands[2] = x3;
          if (!register_operand (operands[2], SImode)
              || !
#line 13482 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(! TARGET_POPCNT))
            return -1;
          *pnum_clobbers = 2;
          return 777; /* paritysi2_cmp */

        case HImode:
          operands[1] = x3;
          if (!register_operand (operands[1], HImode)
              || !
#line 13505 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(! TARGET_POPCNT))
            return -1;
          *pnum_clobbers = 1;
          return 778; /* *parityhi2_cmp */

        default:
          return -1;
        }

    case 45:
      if (GET_MODE (x2) != SFmode)
        return -1;
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      if (!register_operand (operands[0], SFmode))
        return -1;
      x3 = XVECEXP (x2, 0, 0);
      operands[1] = x3;
      if (!nonimmediate_operand (operands[1], SFmode)
          || !
#line 14016 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_SSE && TARGET_SSE_MATH))
        return -1;
      return 802; /* *rcpsf2_sse */

    case 33:
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      x3 = XVECEXP (x2, 0, 0);
      operands[1] = x3;
      if (!register_operand (operands[1], XFmode))
        return -1;
      switch (pattern288 (x2))
        {
        case 0:
          if (!
#line 14285 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387))
            return -1;
          return 828; /* truncxfsf2_i387_noop_unspec */

        case 1:
          if (!
#line 14285 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387))
            return -1;
          return 829; /* truncxfdf2_i387_noop_unspec */

        default:
          return -1;
        }

    case 46:
      if (GET_MODE (x2) != SFmode)
        return -1;
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      if (!register_operand (operands[0], SFmode))
        return -1;
      x3 = XVECEXP (x2, 0, 0);
      operands[1] = x3;
      if (!nonimmediate_operand (operands[1], SFmode)
          || !
#line 14318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_SSE && TARGET_SSE_MATH))
        return -1;
      return 833; /* *rsqrtsf2_sse */

    case 51:
      switch (pattern47 (x1))
        {
        case 0:
          if (!
#line 14543 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
            return -1;
          return 838; /* *sinxf2_i387 */

        case 1:
          if (!
#line 14555 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
          return 840; /* *sin_extendsfxf2_i387 */

        case 2:
          if (!
#line 14555 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
          return 842; /* *sin_extenddfxf2_i387 */

        default:
          return -1;
        }

    case 52:
      switch (pattern47 (x1))
        {
        case 0:
          if (!
#line 14543 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
            return -1;
          return 839; /* *cosxf2_i387 */

        case 1:
          if (!
#line 14555 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
          return 841; /* *cos_extendsfxf2_i387 */

        case 2:
          if (!
#line 14555 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
          return 843; /* *cos_extenddfxf2_i387 */

        default:
          return -1;
        }

    case 58:
      if (GET_MODE (x2) != XFmode)
        return -1;
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      if (!register_operand (operands[0], XFmode))
        return -1;
      x3 = XVECEXP (x2, 0, 0);
      operands[1] = x3;
      if (!register_operand (operands[1], XFmode)
          || !
#line 15162 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
        return -1;
      return 862; /* *f2xm1xf2_i387 */

    case 56:
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      x3 = XVECEXP (x2, 0, 0);
      operands[1] = x3;
      switch (GET_MODE (operands[0]))
        {
        case XFmode:
          if (!register_operand (operands[0], XFmode)
              || GET_MODE (x2) != XFmode
              || !register_operand (operands[1], XFmode)
              || !
#line 15487 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387))
            return -1;
          return 866; /* rintxf2 */

        case SFmode:
          if (!register_operand (operands[0], SFmode)
              || GET_MODE (x2) != SFmode
              || !register_operand (operands[1], SFmode)
              || !
#line 15497 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387))
            return -1;
          return 867; /* rintsf2_frndint */

        case DFmode:
          if (!register_operand (operands[0], DFmode)
              || GET_MODE (x2) != DFmode
              || !register_operand (operands[1], DFmode)
              || !
#line 15497 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387))
            return -1;
          return 868; /* rintdf2_frndint */

        default:
          return -1;
        }

    case 57:
      if (GET_MODE (x2) != HImode)
        return -1;
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      x3 = XVECEXP (x2, 0, 0);
      operands[1] = x3;
      if (!register_operand (operands[1], XFmode))
        return -1;
      if (register_operand (operands[0], HImode)
          && 
#line 15624 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && can_create_pseudo_p ()))
        return 872; /* *fisthi2_1 */
      if (!memory_operand (operands[0], HImode)
          || !
#line 15642 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387))
        return -1;
      return 874; /* fisthi2 */

    case 61:
      switch (pattern48 (x1, pnum_clobbers))
        {
        case 0:
          if (!
#line 15748 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (flag_fp_int_builtin_inexact || !flag_trapping_math)
   && can_create_pseudo_p ()))
            return -1;
          *pnum_clobbers = 1;
          return 878; /* frndintsf2_floor */

        case 1:
          if (!
#line 15748 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (flag_fp_int_builtin_inexact || !flag_trapping_math)
   && can_create_pseudo_p ()))
            return -1;
          *pnum_clobbers = 1;
          return 881; /* frndintdf2_floor */

        case 2:
          if (!
#line 15748 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (flag_fp_int_builtin_inexact || !flag_trapping_math)
   && can_create_pseudo_p ()))
            return -1;
          *pnum_clobbers = 1;
          return 884; /* frndintxf2_floor */

        default:
          return -1;
        }

    case 62:
      switch (pattern48 (x1, pnum_clobbers))
        {
        case 0:
          if (!
#line 15748 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (flag_fp_int_builtin_inexact || !flag_trapping_math)
   && can_create_pseudo_p ()))
            return -1;
          *pnum_clobbers = 1;
          return 879; /* frndintsf2_ceil */

        case 1:
          if (!
#line 15748 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (flag_fp_int_builtin_inexact || !flag_trapping_math)
   && can_create_pseudo_p ()))
            return -1;
          *pnum_clobbers = 1;
          return 882; /* frndintdf2_ceil */

        case 2:
          if (!
#line 15748 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (flag_fp_int_builtin_inexact || !flag_trapping_math)
   && can_create_pseudo_p ()))
            return -1;
          *pnum_clobbers = 1;
          return 885; /* frndintxf2_ceil */

        default:
          return -1;
        }

    case 63:
      switch (pattern48 (x1, pnum_clobbers))
        {
        case 0:
          if (!
#line 15748 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (flag_fp_int_builtin_inexact || !flag_trapping_math)
   && can_create_pseudo_p ()))
            return -1;
          *pnum_clobbers = 1;
          return 880; /* frndintsf2_trunc */

        case 1:
          if (!
#line 15748 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (flag_fp_int_builtin_inexact || !flag_trapping_math)
   && can_create_pseudo_p ()))
            return -1;
          *pnum_clobbers = 1;
          return 883; /* frndintdf2_trunc */

        case 2:
          if (!
#line 15748 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (flag_fp_int_builtin_inexact || !flag_trapping_math)
   && can_create_pseudo_p ()))
            return -1;
          *pnum_clobbers = 1;
          return 886; /* frndintxf2_trunc */

        default:
          return -1;
        }

    case 64:
      if (pnum_clobbers == NULL
          || GET_MODE (x2) != XFmode)
        return -1;
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      if (!register_operand (operands[0], XFmode))
        return -1;
      x3 = XVECEXP (x2, 0, 0);
      operands[1] = x3;
      if (!register_operand (operands[1], XFmode)
          || !
#line 15842 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && can_create_pseudo_p ()))
        return -1;
      *pnum_clobbers = 1;
      return 896; /* frndintxf2_mask_pm */

    case 65:
      if (pattern49 (x1, pnum_clobbers) != 0
          || !
#line 15907 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && can_create_pseudo_p ()))
        return -1;
      *pnum_clobbers = 1;
      return 898; /* *fisthi2_floor_1 */

    case 66:
      if (pattern49 (x1, pnum_clobbers) != 0
          || !
#line 15907 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && can_create_pseudo_p ()))
        return -1;
      *pnum_clobbers = 1;
      return 899; /* *fisthi2_ceil_1 */

    case 60:
      if (GET_MODE (x2) != HImode)
        return -1;
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      if (!register_operand (operands[0], HImode))
        return -1;
      x3 = XVECEXP (x2, 0, 0);
      operands[1] = x3;
      switch (GET_MODE (operands[1]))
        {
        case SFmode:
          if (!register_operand (operands[1], SFmode)
              || !
#line 16083 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387))
            return -1;
          return 916; /* fxamsf2_i387 */

        case DFmode:
          if (!register_operand (operands[1], DFmode)
              || !
#line 16083 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387))
            return -1;
          return 917; /* fxamdf2_i387 */

        case XFmode:
          if (!register_operand (operands[1], XFmode)
              || !
#line 16083 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387))
            return -1;
          return 918; /* fxamxf2_i387 */

        default:
          return -1;
        }

    case 78:
      if (GET_MODE (x2) != HImode)
        return -1;
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      if (!register_operand (operands[0], HImode))
        return -1;
      x3 = XVECEXP (x2, 0, 0);
      operands[1] = x3;
      switch (GET_MODE (operands[1]))
        {
        case SFmode:
          if (!memory_operand (operands[1], SFmode)
              || !
#line 16095 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && can_create_pseudo_p ()))
            return -1;
          return 919; /* fxamsf2_i387_with_temp */

        case DFmode:
          if (!memory_operand (operands[1], DFmode)
              || !
#line 16095 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && can_create_pseudo_p ()))
            return -1;
          return 920; /* fxamdf2_i387_with_temp */

        default:
          return -1;
        }

    case 90:
      x3 = XVECEXP (x2, 0, 0);
      if (GET_CODE (x3) != MEM)
        return -1;
      operands[3] = x3;
      x5 = XEXP (x3, 0);
      if (GET_CODE (x5) != UNSPEC
          || XVECLEN (x5, 0) != 2
          || XINT (x5, 1) != 91)
        return -1;
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      x6 = XVECEXP (x5, 0, 0);
      operands[1] = x6;
      x7 = XVECEXP (x5, 0, 1);
      operands[2] = x7;
      switch (GET_MODE (operands[0]))
        {
        case BND32mode:
          if (pattern588 (x2, SImode, BND32mode) != 0
              || !(
#line 19378 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_MPX) && 
#line 1045 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_LP64)))
            return -1;
          return 1075; /* *bnd32_mk */

        case BND64mode:
          if (pattern588 (x2, DImode, BND64mode) != 0
              || !(
#line 19378 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_MPX) && 
#line 1046 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_LP64)))
            return -1;
          return 1076; /* *bnd64_mk */

        default:
          return -1;
        }

    case 101:
      if (GET_MODE (x2) != V2SFmode)
        return -1;
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      if (!register_operand (operands[0], V2SFmode))
        return -1;
      x3 = XVECEXP (x2, 0, 0);
      operands[1] = x3;
      if (!nonimmediate_operand (operands[1], V2SFmode)
          || !
#line 353 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_3DNOW))
        return -1;
      return 1107; /* mmx_rcpv2sf2 */

    case 104:
      if (GET_MODE (x2) != V2SFmode)
        return -1;
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      if (!register_operand (operands[0], V2SFmode))
        return -1;
      x3 = XVECEXP (x2, 0, 0);
      operands[1] = x3;
      if (!nonimmediate_operand (operands[1], V2SFmode)
          || !
#line 385 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_3DNOW))
        return -1;
      return 1110; /* mmx_rsqrtv2sf2 */

    case 42:
      if (GET_MODE (x2) != V2SImode)
        return -1;
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      if (!register_operand (operands[0], V2SImode))
        return -1;
      x3 = XVECEXP (x2, 0, 0);
      operands[1] = x3;
      if (!nonimmediate_operand (operands[1], V2DFmode)
          || !
#line 4617 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))
        return -1;
      return 2184; /* sse2_cvtpd2pi */

    case 191:
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      x3 = XVECEXP (x2, 0, 0);
      operands[1] = x3;
      switch (pattern207 (x2))
        {
        case 0:
          switch (GET_MODE (operands[1]))
            {
            case V16QImode:
              if (!register_operand (operands[1], V16QImode)
                  || !(
#line 5448 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 2381; /* avx512vl_cvtb2maskv16qi */

            case V16HImode:
              if (!register_operand (operands[1], V16HImode)
                  || !(
#line 5448 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 2384; /* avx512vl_cvtw2maskv16hi */

            case V16SImode:
              if (!register_operand (operands[1], V16SImode)
                  || !
#line 5458 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ))
                return -1;
              return 2386; /* avx512f_cvtd2maskv16si */

            default:
              return -1;
            }

        case 1:
          switch (GET_MODE (operands[1]))
            {
            case V8HImode:
              if (!register_operand (operands[1], V8HImode)
                  || !(
#line 5448 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 2385; /* avx512vl_cvtw2maskv8hi */

            case V8SImode:
              if (!register_operand (operands[1], V8SImode)
                  || !(
#line 5458 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 2387; /* avx512vl_cvtd2maskv8si */

            case V4SImode:
              if (!register_operand (operands[1], V4SImode)
                  || !(
#line 5458 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 2388; /* avx512vl_cvtd2maskv4si */

            case V8DImode:
              if (!register_operand (operands[1], V8DImode)
                  || !
#line 5458 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ))
                return -1;
              return 2389; /* avx512f_cvtq2maskv8di */

            case V4DImode:
              if (!register_operand (operands[1], V4DImode)
                  || !(
#line 5458 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 2390; /* avx512vl_cvtq2maskv4di */

            case V2DImode:
              if (!register_operand (operands[1], V2DImode)
                  || !(
#line 5458 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 2391; /* avx512vl_cvtq2maskv2di */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 106:
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      x3 = XVECEXP (x2, 0, 0);
      switch (GET_CODE (x3))
        {
        case REG:
        case SUBREG:
          operands[1] = x3;
          switch (GET_MODE (operands[0]))
            {
            case SFmode:
              if (!memory_operand (operands[0], SFmode)
                  || GET_MODE (x2) != SFmode
                  || !register_operand (operands[1], SFmode)
                  || !
#line 14941 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4A))
                return -1;
              return 3794; /* sse4a_movntsf */

            case DFmode:
              if (!memory_operand (operands[0], DFmode)
                  || GET_MODE (x2) != DFmode
                  || !register_operand (operands[1], DFmode)
                  || !
#line 14941 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4A))
                return -1;
              return 3795; /* sse4a_movntdf */

            default:
              return -1;
            }

        case VEC_SELECT:
          x8 = XEXP (x3, 1);
          if (GET_CODE (x8) != PARALLEL
              || XVECLEN (x8, 0) != 1)
            return -1;
          x9 = XVECEXP (x8, 0, 0);
          if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x5 = XEXP (x3, 0);
          operands[1] = x5;
          switch (GET_MODE (operands[0]))
            {
            case SFmode:
              if (pattern511 (x2, V4SFmode, SFmode) != 0
                  || !
#line 14953 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4A))
                return -1;
              return 3796; /* sse4a_vmmovntv4sf */

            case DFmode:
              if (pattern511 (x2, V2DFmode, DFmode) != 0
                  || !(
#line 14953 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4A) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
                return -1;
              return 3797; /* sse4a_vmmovntv2df */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 128:
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      x3 = XVECEXP (x2, 0, 0);
      operands[1] = x3;
      switch (GET_MODE (operands[0]))
        {
        case SFmode:
          if (!register_operand (operands[0], SFmode)
              || GET_MODE (x2) != SFmode
              || !nonimmediate_operand (operands[1], SFmode)
              || !
#line 17016 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
            return -1;
          return 4050; /* xop_frczsf2 */

        case DFmode:
          if (!register_operand (operands[0], DFmode)
              || GET_MODE (x2) != DFmode
              || !nonimmediate_operand (operands[1], DFmode)
              || !
#line 17016 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
            return -1;
          return 4051; /* xop_frczdf2 */

        default:
          return -1;
        }

    case 205:
      if (GET_MODE (x2) != DFmode)
        return -1;
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      if (!register_operand (operands[0], DFmode))
        return -1;
      x3 = XVECEXP (x2, 0, 0);
      operands[1] = x3;
      if (!memory_operand (operands[1], DImode)
          || !
#line 371 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sync.md"
(TARGET_80387))
        return -1;
      return 4964; /* loaddi_via_fpu */

    case 207:
      if (GET_MODE (x2) != DFmode)
        return -1;
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      if (!register_operand (operands[0], DFmode))
        return -1;
      x3 = XVECEXP (x2, 0, 0);
      operands[1] = x3;
      if (!memory_operand (operands[1], DImode)
          || !
#line 394 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sync.md"
(TARGET_SSE))
        return -1;
      return 4966; /* loaddi_via_sse */

    default:
      return -1;
    }
}

static int
recog_6 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (XVECLEN (x2, 0))
    {
    case 1:
      return recog_5 (x1, insn, pnum_clobbers);

    case 3:
      switch (XINT (x2, 1))
        {
        case 48:
          x3 = XEXP (x1, 0);
          operands[0] = x3;
          switch (pattern149 (x2))
            {
            case 0:
              if (!
#line 9350 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
   || (TARGET_SSE && (SFmode == TFmode))))
                return -1;
              return 486; /* copysignsf3_const */

            case 1:
              if (!
#line 9350 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
   || (TARGET_SSE && (DFmode == TFmode))))
                return -1;
              return 487; /* copysigndf3_const */

            case 2:
              if (!
#line 9350 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((SSE_FLOAT_MODE_P (TFmode) && TARGET_SSE_MATH)
   || (TARGET_SSE && (TFmode == TFmode))))
                return -1;
              return 488; /* copysigntf3_const */

            default:
              return -1;
            }

        case 43:
          if (GET_MODE (x2) != V8QImode)
            return -1;
          switch (pattern150 (x1, V8QImode))
            {
            case 0:
              if (!(
#line 1555 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_SSE || TARGET_3DNOW_A) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return -1;
              return 1202; /* *mmx_maskmovq */

            case 1:
              if (!(
#line 1555 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_SSE || TARGET_3DNOW_A) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return -1;
              return 1203; /* *mmx_maskmovq */

            default:
              return -1;
            }

        case 136:
          x3 = XEXP (x1, 0);
          operands[0] = x3;
          x4 = XVECEXP (x2, 0, 0);
          operands[1] = x4;
          x5 = XVECEXP (x2, 0, 1);
          operands[2] = x5;
          x6 = XVECEXP (x2, 0, 2);
          operands[3] = x6;
          switch (pattern207 (x2))
            {
            case 0:
              switch (GET_MODE (operands[1]))
                {
                case V16SImode:
                  if (!register_operand (operands[1], V16SImode)
                      || !nonimmediate_operand (operands[2], V16SImode)
                      || !const_0_to_7_operand (operands[3], SImode)
                      || !
#line 2588 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1))
                    return -1;
                  return 1639; /* avx512f_cmpv16si3 */

                case V16SFmode:
                  if (!register_operand (operands[1], V16SFmode)
                      || !nonimmediate_operand (operands[2], V16SFmode)
                      || !const_0_to_31_operand (operands[3], SImode)
                      || !
#line 2588 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1))
                    return -1;
                  return 1655; /* avx512f_cmpv16sf3 */

                case V16QImode:
                  if (!register_operand (operands[1], V16QImode)
                      || !nonimmediate_operand (operands[2], V16QImode)
                      || !const_0_to_7_operand (operands[3], SImode)
                      || !(
#line 2602 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                    return -1;
                  return 1673; /* avx512vl_cmpv16qi3 */

                case V16HImode:
                  if (!register_operand (operands[1], V16HImode)
                      || !nonimmediate_operand (operands[2], V16HImode)
                      || !const_0_to_7_operand (operands[3], SImode)
                      || !(
#line 2602 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                    return -1;
                  return 1679; /* avx512vl_cmpv16hi3 */

                default:
                  return -1;
                }

            case 1:
              switch (GET_MODE (operands[1]))
                {
                case V8SImode:
                  if (!register_operand (operands[1], V8SImode)
                      || !nonimmediate_operand (operands[2], V8SImode)
                      || !const_0_to_7_operand (operands[3], SImode)
                      || !(
#line 2588 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1) && 
#line 184 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                    return -1;
                  return 1643; /* avx512vl_cmpv8si3 */

                case V4SImode:
                  if (!register_operand (operands[1], V4SImode)
                      || !nonimmediate_operand (operands[2], V4SImode)
                      || !const_0_to_7_operand (operands[3], SImode)
                      || !(
#line 2588 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1) && 
#line 184 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                    return -1;
                  return 1645; /* avx512vl_cmpv4si3 */

                case V8DImode:
                  if (!register_operand (operands[1], V8DImode)
                      || !nonimmediate_operand (operands[2], V8DImode)
                      || !const_0_to_7_operand (operands[3], SImode)
                      || !
#line 2588 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1))
                    return -1;
                  return 1647; /* avx512f_cmpv8di3 */

                case V4DImode:
                  if (!register_operand (operands[1], V4DImode)
                      || !nonimmediate_operand (operands[2], V4DImode)
                      || !const_0_to_7_operand (operands[3], SImode)
                      || !(
#line 2588 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1) && 
#line 185 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                    return -1;
                  return 1651; /* avx512vl_cmpv4di3 */

                case V2DImode:
                  if (!register_operand (operands[1], V2DImode)
                      || !nonimmediate_operand (operands[2], V2DImode)
                      || !const_0_to_7_operand (operands[3], SImode)
                      || !(
#line 2588 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1) && 
#line 185 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                    return -1;
                  return 1653; /* avx512vl_cmpv2di3 */

                case V8SFmode:
                  if (!register_operand (operands[1], V8SFmode)
                      || !nonimmediate_operand (operands[2], V8SFmode)
                      || !const_0_to_31_operand (operands[3], SImode)
                      || !(
#line 2588 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1) && 
#line 186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                    return -1;
                  return 1659; /* avx512vl_cmpv8sf3 */

                case V4SFmode:
                  if (!register_operand (operands[1], V4SFmode)
                      || !nonimmediate_operand (operands[2], V4SFmode)
                      || !const_0_to_31_operand (operands[3], SImode)
                      || !(
#line 2588 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1) && 
#line 186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                    return -1;
                  return 1661; /* avx512vl_cmpv4sf3 */

                case V8DFmode:
                  if (!register_operand (operands[1], V8DFmode)
                      || !nonimmediate_operand (operands[2], V8DFmode)
                      || !const_0_to_31_operand (operands[3], SImode)
                      || !
#line 2588 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1))
                    return -1;
                  return 1663; /* avx512f_cmpv8df3 */

                case V4DFmode:
                  if (!register_operand (operands[1], V4DFmode)
                      || !nonimmediate_operand (operands[2], V4DFmode)
                      || !const_0_to_31_operand (operands[3], SImode)
                      || !(
#line 2588 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1) && 
#line 187 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                    return -1;
                  return 1667; /* avx512vl_cmpv4df3 */

                case V2DFmode:
                  if (!register_operand (operands[1], V2DFmode)
                      || !nonimmediate_operand (operands[2], V2DFmode)
                      || !const_0_to_31_operand (operands[3], SImode)
                      || !(
#line 2588 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1) && 
#line 187 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                    return -1;
                  return 1669; /* avx512vl_cmpv2df3 */

                case V8HImode:
                  if (!register_operand (operands[1], V8HImode)
                      || !nonimmediate_operand (operands[2], V8HImode)
                      || !const_0_to_7_operand (operands[3], SImode)
                      || !(
#line 2602 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                    return -1;
                  return 1681; /* avx512vl_cmpv8hi3 */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case 152:
          x3 = XEXP (x1, 0);
          operands[0] = x3;
          x4 = XVECEXP (x2, 0, 0);
          operands[1] = x4;
          x5 = XVECEXP (x2, 0, 1);
          operands[2] = x5;
          x6 = XVECEXP (x2, 0, 2);
          operands[3] = x6;
          if (!const_0_to_7_operand (operands[3], SImode))
            return -1;
          switch (pattern57 (x2))
            {
            case 0:
              if (!(
#line 2616 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 1685; /* avx512vl_ucmpv16qi3 */

            case 1:
              if (!(
#line 2616 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 1691; /* avx512vl_ucmpv16hi3 */

            case 2:
              if (!
#line 2630 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return -1;
              return 1695; /* avx512f_ucmpv16si3 */

            case 3:
              if (!(
#line 2616 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 1693; /* avx512vl_ucmpv8hi3 */

            case 4:
              if (!(
#line 2630 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 1697; /* avx512vl_ucmpv8si3 */

            case 5:
              if (!(
#line 2630 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 1699; /* avx512vl_ucmpv4si3 */

            case 6:
              if (!
#line 2630 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return -1;
              return 1701; /* avx512f_ucmpv8di3 */

            case 7:
              if (!(
#line 2630 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 1703; /* avx512vl_ucmpv4di3 */

            case 8:
              if (!(
#line 2630 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 1705; /* avx512vl_ucmpv2di3 */

            default:
              return -1;
            }

        case 124:
          x3 = XEXP (x1, 0);
          operands[0] = x3;
          x4 = XVECEXP (x2, 0, 0);
          operands[1] = x4;
          x5 = XVECEXP (x2, 0, 1);
          operands[2] = x5;
          x6 = XVECEXP (x2, 0, 2);
          switch (GET_CODE (x6))
            {
            case REG:
            case SUBREG:
            case MEM:
              operands[3] = x6;
              switch (GET_MODE (operands[0]))
                {
                case SFmode:
                  if (pattern461 (x2, SFmode) != 0
                      || !
#line 3929 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && 1))
                    return -1;
                  return 1979; /* *fma_fmaddsub_sf */

                case DFmode:
                  if (pattern461 (x2, DFmode) != 0
                      || !
#line 3929 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && 1))
                    return -1;
                  return 1988; /* *fma_fmaddsub_df */

                default:
                  return -1;
                }

            case NEG:
              x7 = XEXP (x6, 0);
              operands[3] = x7;
              switch (GET_MODE (operands[0]))
                {
                case SFmode:
                  if (pattern462 (x2, SFmode) != 0
                      || !
#line 3998 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && 1))
                    return -1;
                  return 2025; /* *fma_fmsubadd_sf */

                case DFmode:
                  if (pattern462 (x2, DFmode) != 0
                      || !
#line 3998 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && 1))
                    return -1;
                  return 2034; /* *fma_fmsubadd_df */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case 110:
          if (pattern50 (x1, TImode) != 0)
            return -1;
          x6 = XVECEXP (x2, 0, 2);
          operands[3] = x6;
          if (!const_0_to_255_mul_8_operand (operands[3], SImode)
              || !
#line 14817 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3))
            return -1;
          return 3765; /* ssse3_palignrti */

        case 123:
          if (pnum_clobbers == NULL
              || pattern151 (x1) != 0
              || !nonimmediate_operand (operands[3], V16QImode))
            return -1;
          x6 = XVECEXP (x2, 0, 2);
          operands[4] = x6;
          if (!const_0_to_255_operand (operands[4], SImode)
              || !
#line 15963 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_2))
            return -1;
          *pnum_clobbers = 2;
          return 3934; /* sse4_2_pcmpistr_cconly */

        default:
          return -1;
        }

    case 4:
      if (pnum_clobbers == NULL
          || XINT (x2, 1) != 48)
        return -1;
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XVECEXP (x2, 0, 0);
      operands[2] = x4;
      x5 = XVECEXP (x2, 0, 1);
      operands[3] = x5;
      x6 = XVECEXP (x2, 0, 2);
      operands[4] = x6;
      x8 = XVECEXP (x2, 0, 3);
      operands[5] = x8;
      switch (GET_MODE (operands[0]))
        {
        case SFmode:
          if (pattern512 (x2, V4SFmode, SFmode) != 0
              || !
#line 9368 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
   || (TARGET_SSE && (SFmode == TFmode))))
            return -1;
          *pnum_clobbers = 1;
          return 489; /* copysignsf3_var */

        case DFmode:
          if (pattern512 (x2, V2DFmode, DFmode) != 0
              || !
#line 9368 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
   || (TARGET_SSE && (DFmode == TFmode))))
            return -1;
          *pnum_clobbers = 1;
          return 490; /* copysigndf3_var */

        case TFmode:
          if (!register_operand (operands[0], TFmode)
              || GET_MODE (x2) != TFmode
              || !register_operand (operands[2], TFmode)
              || !register_operand (operands[3], TFmode)
              || !nonimmediate_operand (operands[4], TFmode)
              || !nonimmediate_operand (operands[5], TFmode)
              || !
#line 9368 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((SSE_FLOAT_MODE_P (TFmode) && TARGET_SSE_MATH)
   || (TARGET_SSE && (TFmode == TFmode))))
            return -1;
          *pnum_clobbers = 1;
          return 491; /* copysigntf3_var */

        default:
          return -1;
        }

    case 2:
      return recog_4 (x1, insn, pnum_clobbers);

    case 5:
      if (pnum_clobbers == NULL
          || XINT (x2, 1) != 122
          || pattern151 (x1) != 0
          || !register_operand (operands[3], SImode))
        return -1;
      x6 = XVECEXP (x2, 0, 2);
      operands[4] = x6;
      if (!nonimmediate_operand (operands[4], V16QImode))
        return -1;
      x8 = XVECEXP (x2, 0, 3);
      operands[5] = x8;
      if (!register_operand (operands[5], SImode))
        return -1;
      x9 = XVECEXP (x2, 0, 4);
      operands[6] = x9;
      if (!const_0_to_255_operand (operands[6], SImode)
          || !
#line 15840 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_2))
        return -1;
      *pnum_clobbers = 2;
      return 3930; /* sse4_2_pcmpestr_cconly */

    default:
      return -1;
    }
}

static int
recog_7 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  switch (GET_CODE (x3))
    {
    case CONST_INT:
    case CONST_WIDE_INT:
    case CONST_FIXED:
    case CONST_DOUBLE:
    case CONST_VECTOR:
    case CONST:
    case REG:
    case SUBREG:
    case LABEL_REF:
    case SYMBOL_REF:
    case HIGH:
      operands[0] = x3;
      if (x86_64_movabs_operand (operands[0], DImode))
        {
          x4 = XEXP (x1, 1);
          operands[1] = x4;
          switch (GET_MODE (x2))
            {
            case QImode:
              if (nonmemory_operand (operands[1], QImode)
                  && 
#line 2613 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_LP64 && ix86_check_movabs (insn, 0)))
                return 85; /* *movabsqi_1 */
              break;

            case HImode:
              if (nonmemory_operand (operands[1], HImode)
                  && 
#line 2613 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_LP64 && ix86_check_movabs (insn, 0)))
                return 86; /* *movabshi_1 */
              break;

            case SImode:
              if (nonmemory_operand (operands[1], SImode)
                  && 
#line 2613 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_LP64 && ix86_check_movabs (insn, 0)))
                return 87; /* *movabssi_1 */
              break;

            case DImode:
              if (nonmemory_operand (operands[1], DImode)
                  && 
#line 2613 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_LP64 && ix86_check_movabs (insn, 0)))
                return 88; /* *movabsdi_1 */
              break;

            default:
              break;
            }
        }
      break;

    case PRE_MODIFY:
      if (pattern152 (x3) == 0
          && GET_MODE (x2) == XFmode)
        {
          switch (pattern557 (x1))
            {
            case 0:
              if ((
#line 2995 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return 118; /* *pushxf_rounded */
              break;

            case 1:
              if ((
#line 2995 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return 119; /* *pushxf_rounded */
              break;

            default:
              break;
            }
        }
      break;

    default:
      break;
    }
  operands[0] = x2;
  if (!push_operand (operands[0], XFmode))
    return -1;
  x4 = XEXP (x1, 1);
  operands[1] = x4;
  if (!general_no_elim_operand (operands[1], XFmode))
    return -1;
  return 120; /* *pushxf */
}

static int
recog_8 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  operands[1] = x3;
  switch (GET_MODE (operands[0]))
    {
    case DImode:
      if (push_operand (operands[0], DImode)
          && general_no_elim_operand (operands[1], DImode))
        {
          if (
#line 1016 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT))
            return 55; /* *pushdi2 */
          if (
#line 1764 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
            return 57; /* *pushdi2_rex64 */
        }
      if (nonimmediate_operand (operands[0], DImode)
          && pop_operand (operands[1], DImode)
          && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode))
        return 67; /* *popdi1 */
      if (push_operand (operands[0], DImode)
          && flags_reg_operand (operands[1], DImode)
          && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode))
        return 71; /* *pushfldi2 */
      if (flags_reg_operand (operands[0], DImode)
          && pop_operand (operands[1], DImode)
          && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode))
        return 73; /* *popfldi1 */
      if (pnum_clobbers != NULL
          && register_operand (operands[0], DImode))
        {
          if (const0_operand (operands[1], DImode)
              && (
#line 1977 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            {
              *pnum_clobbers = 1;
              return 75; /* *movdi_xor */
            }
          if (constm1_operand (operands[1], DImode)
              && (
#line 1988 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            {
              *pnum_clobbers = 1;
              return 77; /* *movdi_or */
            }
        }
      if (nonimmediate_operand (operands[0], DImode)
          && general_operand (operands[1], DImode)
          && 
#line 2152 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[0]) && MEM_P (operands[1]))))
        return 81; /* *movdi_internal */
      break;

    case TImode:
      if (push_operand (operands[0], TImode)
          && general_no_elim_operand (operands[1], TImode)
          && 
#line 1017 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
        return 56; /* *pushti2 */
      if (nonimmediate_operand (operands[0], TImode)
          && general_operand (operands[1], TImode)
          && 
#line 2078 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((TARGET_64BIT
    && !(MEM_P (operands[0]) && MEM_P (operands[1])))
   || (TARGET_SSE
       && nonimmediate_or_sse_const_operand (operands[1], TImode)
       && (register_operand (operands[0], TImode)
	   || register_operand (operands[1], TImode)))))
        return 80; /* *movti_internal */
      break;

    case SImode:
      if (push_operand (operands[0], SImode))
        {
          if (general_no_elim_operand (operands[1], SImode)
              && 
#line 1822 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT))
            return 58; /* *pushsi2 */
          if (nonmemory_no_elim_operand (operands[1], SImode)
              && 
#line 1835 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
            return 61; /* *pushsi2_rex64 */
        }
      if (nonimmediate_operand (operands[0], SImode)
          && pop_operand (operands[1], SImode)
          && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode))
        return 66; /* *popsi1 */
      if (push_operand (operands[0], SImode)
          && flags_reg_operand (operands[1], SImode)
          && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode))
        return 70; /* *pushflsi2 */
      if (flags_reg_operand (operands[0], SImode)
          && pop_operand (operands[1], SImode)
          && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode))
        return 72; /* *popflsi1 */
      if (pnum_clobbers != NULL
          && register_operand (operands[0], SImode))
        {
          if (const0_operand (operands[1], SImode)
              && 
#line 1977 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
            {
              *pnum_clobbers = 1;
              return 74; /* *movsi_xor */
            }
          if (constm1_operand (operands[1], SImode)
              && 
#line 1988 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
            {
              *pnum_clobbers = 1;
              return 76; /* *movsi_or */
            }
        }
      if (nonimmediate_operand (operands[0], SImode)
          && general_operand (operands[1], SImode)
          && 
#line 2321 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[0]) && MEM_P (operands[1]))))
        return 82; /* *movsi_internal */
      break;

    case QImode:
      if (push_operand (operands[0], QImode)
          && nonmemory_no_elim_operand (operands[1], QImode))
        {
          if (
#line 1835 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
            return 59; /* *pushqi2_rex64 */
          if (
#line 1843 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT))
            return 62; /* *pushqi2 */
        }
      if (nonimmediate_operand (operands[0], QImode)
          && general_operand (operands[1], QImode)
          && 
#line 2511 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[0]) && MEM_P (operands[1]))))
        return 84; /* *movqi_internal */
      break;

    case HImode:
      if (push_operand (operands[0], HImode)
          && nonmemory_no_elim_operand (operands[1], HImode))
        {
          if (
#line 1835 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
            return 60; /* *pushhi2_rex64 */
          if (
#line 1843 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT))
            return 63; /* *pushhi2 */
        }
      if (nonimmediate_operand (operands[0], HImode)
          && general_operand (operands[1], HImode)
          && 
#line 2431 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[0]) && MEM_P (operands[1]))))
        return 83; /* *movhi_internal */
      break;

    case TFmode:
      if (push_operand (operands[0], TFmode)
          && general_no_elim_operand (operands[1], TFmode)
          && 
#line 2967 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT || TARGET_SSE))
        return 117; /* *pushtf */
      if (nonimmediate_operand (operands[0], TFmode)
          && general_operand (operands[1], TFmode)
          && 
#line 3173 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((TARGET_64BIT || TARGET_SSE)
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))
   && (lra_in_progress || reload_completed
       || !CONST_DOUBLE_P (operands[1])
       || ((optimize_function_for_size_p (cfun)
	    || (ix86_cmodel == CM_LARGE || ix86_cmodel == CM_LARGE_PIC))
	   && standard_sse_constant_p (operands[1], TFmode) == 1
	   && !memory_operand (operands[0], TFmode))
       || (!TARGET_MEMORY_MISMATCH_STALL
	   && memory_operand (operands[0], TFmode)))))
        return 124; /* *movtf_internal */
      break;

    case DFmode:
      if (push_operand (operands[0], DFmode)
          && general_no_elim_operand (operands[1], DFmode))
        return 121; /* *pushdf */
      if (nonimmediate_operand (operands[0], DFmode)
          && general_operand (operands[1], DFmode)
          && 
#line 3331 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[0]) && MEM_P (operands[1]))
   && (lra_in_progress || reload_completed
       || !CONST_DOUBLE_P (operands[1])
       || ((optimize_function_for_size_p (cfun)
	    || (ix86_cmodel == CM_LARGE || ix86_cmodel == CM_LARGE_PIC))
	   && ((IS_STACK_MODE (DFmode)
		&& standard_80387_constant_p (operands[1]) > 0)
	       || (TARGET_SSE2 && TARGET_SSE_MATH
		   && standard_sse_constant_p (operands[1], DFmode) == 1))
	   && !memory_operand (operands[0], DFmode))
       || ((TARGET_64BIT || !TARGET_MEMORY_MISMATCH_STALL)
	   && memory_operand (operands[0], DFmode))
       || !TARGET_HARD_DF_REGS)))
        return 126; /* *movdf_internal */
      break;

    case SFmode:
      if (push_operand (operands[0], SFmode))
        {
          if (nonmemory_no_elim_operand (operands[1], SFmode)
              && 
#line 3091 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
            return 122; /* *pushsf_rex64 */
          if (general_no_elim_operand (operands[1], SFmode)
              && 
#line 3104 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT))
            return 123; /* *pushsf */
        }
      if (nonimmediate_operand (operands[0], SFmode)
          && general_operand (operands[1], SFmode)
          && 
#line 3532 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[0]) && MEM_P (operands[1]))
   && (lra_in_progress || reload_completed
       || !CONST_DOUBLE_P (operands[1])
       || ((optimize_function_for_size_p (cfun)
	    || (ix86_cmodel == CM_LARGE || ix86_cmodel == CM_LARGE_PIC))
	   && ((IS_STACK_MODE (SFmode)
		&& standard_80387_constant_p (operands[1]) > 0)
	       || (TARGET_SSE && TARGET_SSE_MATH
		   && standard_sse_constant_p (operands[1], SFmode) == 1)))
       || memory_operand (operands[0], SFmode)
       || !TARGET_HARD_SF_REGS)))
        return 127; /* *movsf_internal */
      break;

    case BND32mode:
      if (nonimmediate_operand (operands[0], BND32mode)
          && general_operand (operands[1], BND32mode)
          && (
#line 19391 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_MPX) && 
#line 1045 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_LP64)))
        return 1077; /* *movbnd32_internal_mpx */
      break;

    case BND64mode:
      if (nonimmediate_operand (operands[0], BND64mode)
          && general_operand (operands[1], BND64mode)
          && (
#line 19391 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_MPX) && 
#line 1046 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_LP64)))
        return 1078; /* *movbnd64_internal_mpx */
      break;

    case V8QImode:
      if (nonimmediate_operand (operands[0], V8QImode)
          && vector_move_operand (operands[1], V8QImode)
          && 
#line 84 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
        return 1094; /* *movv8qi_internal */
      break;

    case V4HImode:
      if (nonimmediate_operand (operands[0], V4HImode)
          && vector_move_operand (operands[1], V4HImode)
          && 
#line 84 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
        return 1095; /* *movv4hi_internal */
      break;

    case V2SImode:
      if (nonimmediate_operand (operands[0], V2SImode)
          && vector_move_operand (operands[1], V2SImode)
          && 
#line 84 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
        return 1096; /* *movv2si_internal */
      break;

    case V1DImode:
      if (nonimmediate_operand (operands[0], V1DImode)
          && vector_move_operand (operands[1], V1DImode)
          && 
#line 84 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
        return 1097; /* *movv1di_internal */
      break;

    case V2SFmode:
      if (nonimmediate_operand (operands[0], V2SFmode)
          && vector_move_operand (operands[1], V2SFmode)
          && 
#line 84 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
        return 1098; /* *movv2sf_internal */
      break;

    case V64SFmode:
      if (nonimmediate_operand (operands[0], V64SFmode)
          && vector_move_operand (operands[1], V64SFmode)
          && (
#line 19745 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F
   && (register_operand (operands[0], V64SFmode)
       || register_operand (operands[1], V64SFmode))) && 
#line 19728 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX5124FMAPS)))
        return 4930; /* *movv64sf_internal */
      break;

    case V64SImode:
      if (nonimmediate_operand (operands[0], V64SImode)
          && vector_move_operand (operands[1], V64SImode)
          && (
#line 19745 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F
   && (register_operand (operands[0], V64SImode)
       || register_operand (operands[1], V64SImode))) && 
#line 19728 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX5124VNNIW)))
        return 4931; /* *movv64si_internal */
      break;

    default:
      break;
    }
  if (GET_CODE (x2) == MEM)
    {
      res = recog_7 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
    }
  operands[0] = x2;
  if (!nonimmediate_operand (operands[0], XFmode))
    return -1;
  operands[1] = x3;
  if (!general_operand (operands[1], XFmode)
      || !
#line 3259 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[0]) && MEM_P (operands[1]))
   && (lra_in_progress || reload_completed
       || !CONST_DOUBLE_P (operands[1])
       || ((optimize_function_for_size_p (cfun)
	    || (ix86_cmodel == CM_LARGE || ix86_cmodel == CM_LARGE_PIC))
	   && standard_80387_constant_p (operands[1]) > 0
	   && !memory_operand (operands[0], XFmode))
       || (!TARGET_MEMORY_MISMATCH_STALL
	   && memory_operand (operands[0], XFmode))
       || !TARGET_HARD_XF_REGS)))
    return -1;
  return 125; /* *movxf_internal */
}

static int
recog_9 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 1);
  if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    return -1;
  x4 = XEXP (x2, 2);
  if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    return -1;
  x5 = XEXP (x2, 0);
  operands[0] = x5;
  if (!ext_register_operand (operands[0], VOIDmode))
    return -1;
  x6 = XEXP (x1, 1);
  operands[1] = x6;
  switch (GET_MODE (x2))
    {
    case HImode:
      if (!general_operand (operands[1], HImode))
        return -1;
      return 108; /* insvhi_1 */

    case SImode:
      if (!general_operand (operands[1], SImode))
        return -1;
      return 109; /* insvsi_1 */

    case DImode:
      if (!general_operand (operands[1], DImode)
          || !
#line 986 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
        return -1;
      return 110; /* insvdi_1 */

    default:
      return -1;
    }
}

static int
recog_10 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  switch (GET_CODE (x2))
    {
    case REG:
    case SUBREG:
    case MEM:
      res = recog_8 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case STRICT_LOW_PART:
      x3 = XEXP (x2, 0);
      operands[0] = x3;
      x4 = XEXP (x1, 1);
      operands[1] = x4;
      switch (GET_MODE (operands[0]))
        {
        case QImode:
          if (nonimmediate_operand (operands[0], QImode)
              && general_operand (operands[1], QImode)
              && 
#line 2716 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
            return 97; /* *movstrictqi_1 */
          if (pnum_clobbers != NULL
              && register_operand (operands[0], QImode)
              && const0_operand (operands[1], QImode)
              && 
#line 2726 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
            {
              *pnum_clobbers = 1;
              return 99; /* *movstrictqi_xor */
            }
          break;

        case HImode:
          if (nonimmediate_operand (operands[0], HImode)
              && general_operand (operands[1], HImode)
              && 
#line 2716 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
            return 98; /* *movstricthi_1 */
          if (pnum_clobbers != NULL
              && register_operand (operands[0], HImode)
              && const0_operand (operands[1], HImode)
              && 
#line 2726 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
            {
              *pnum_clobbers = 1;
              return 100; /* *movstricthi_xor */
            }
          break;

        default:
          break;
        }
      break;

    case ZERO_EXTRACT:
      res = recog_9 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case PC:
      x4 = XEXP (x1, 1);
      operands[0] = x4;
      switch (GET_MODE (operands[0]))
        {
        case SImode:
          if (indirect_branch_operand (operands[0], SImode)
              && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode))
            return 650; /* *indirect_jump */
          break;

        case DImode:
          if (indirect_branch_operand (operands[0], DImode)
              && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode))
            return 651; /* *indirect_jump */
          break;

        default:
          break;
        }
      break;

    default:
      break;
    }
  x4 = XEXP (x1, 1);
  switch (GET_CODE (x4))
    {
    case MEM:
      operands[0] = x2;
      x5 = XEXP (x4, 0);
      operands[1] = x5;
      if (!x86_64_movabs_operand (operands[1], DImode))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case QImode:
          if (!register_operand (operands[0], QImode)
              || GET_MODE (x4) != QImode
              || !
#line 2637 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_LP64 && ix86_check_movabs (insn, 1)))
            return -1;
          return 89; /* *movabsqi_2 */

        case HImode:
          if (!register_operand (operands[0], HImode)
              || GET_MODE (x4) != HImode
              || !
#line 2637 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_LP64 && ix86_check_movabs (insn, 1)))
            return -1;
          return 90; /* *movabshi_2 */

        case SImode:
          if (!register_operand (operands[0], SImode)
              || GET_MODE (x4) != SImode
              || !
#line 2637 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_LP64 && ix86_check_movabs (insn, 1)))
            return -1;
          return 91; /* *movabssi_2 */

        case DImode:
          if (!register_operand (operands[0], DImode)
              || GET_MODE (x4) != DImode
              || !
#line 2637 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_LP64 && ix86_check_movabs (insn, 1)))
            return -1;
          return 92; /* *movabsdi_2 */

        default:
          return -1;
        }

    case SUBREG:
      if (XINT (x4, 1) != 0)
        return -1;
      x5 = XEXP (x4, 0);
      switch (GET_CODE (x5))
        {
        case ZERO_EXTRACT:
          if (GET_MODE (x5) != SImode)
            return -1;
          x6 = XEXP (x5, 1);
          if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
            return -1;
          x7 = XEXP (x5, 2);
          if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
            return -1;
          operands[0] = x2;
          if (!nonimmediate_operand (operands[0], QImode)
              || GET_MODE (x4) != QImode)
            return -1;
          x8 = XEXP (x5, 0);
          operands[1] = x8;
          if (!ext_register_operand (operands[1], VOIDmode))
            return -1;
          return 107; /* *extzvqi */

        case CONST_INT:
        case CONST_WIDE_INT:
        case CONST_FIXED:
        case CONST_DOUBLE:
        case CONST_VECTOR:
        case CONST:
        case REG:
        case SUBREG:
        case MEM:
        case LABEL_REF:
        case SYMBOL_REF:
        case HIGH:
          operands[1] = x5;
          if (!general_operand (operands[1], QImode)
              || GET_CODE (x2) != ZERO_EXTRACT
              || pattern0 (x1) != 0)
            return -1;
          return 112; /* *insvqi_1 */

        case PLUS:
          if (pattern153 (x1, pnum_clobbers) != 0)
            return -1;
          x6 = XEXP (x5, 1);
          operands[2] = x6;
          if (general_operand (operands[2], QImode)
              && 
#line 6166 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(/* FIXME: without this LRA can't reload this pattern, see PR82524.  */
   rtx_equal_p (operands[0], operands[1])))
            {
              *pnum_clobbers = 1;
              return 241; /* addqi_ext_1 */
            }
          if (GET_CODE (x6) != SUBREG
              || pattern903 (x6) != 0
              || !
#line 6206 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(/* FIXME: without this LRA can't reload this pattern, see PR82524.  */
   rtx_equal_p (operands[0], operands[1])
   || rtx_equal_p (operands[0], operands[2])))
            return -1;
          *pnum_clobbers = 1;
          return 242; /* *addqi_ext_2 */

        case AND:
          if (pattern153 (x1, pnum_clobbers) != 0)
            return -1;
          x6 = XEXP (x5, 1);
          operands[2] = x6;
          if (general_operand (operands[2], QImode)
              && 
#line 8475 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(/* FIXME: without this LRA can't reload this pattern, see PR82524.  */
   rtx_equal_p (operands[0], operands[1])))
            {
              *pnum_clobbers = 1;
              return 401; /* andqi_ext_1 */
            }
          if (GET_CODE (x6) != SUBREG
              || pattern903 (x6) != 0
              || !
#line 8527 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(/* FIXME: without this LRA can't reload this pattern, see PR82524.  */
   rtx_equal_p (operands[0], operands[1])
   || rtx_equal_p (operands[0], operands[2])))
            return -1;
          *pnum_clobbers = 1;
          return 403; /* *andqi_ext_2 */

        case IOR:
          if (pattern153 (x1, pnum_clobbers) != 0)
            return -1;
          x6 = XEXP (x5, 1);
          operands[2] = x6;
          if (general_operand (operands[2], QImode)
              && 
#line 8867 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   /* FIXME: without this LRA can't reload this pattern, see PR82524.  */
   && rtx_equal_p (operands[0], operands[1])))
            {
              *pnum_clobbers = 1;
              return 449; /* *iorqi_ext_1 */
            }
          if (GET_CODE (x6) != SUBREG
              || pattern903 (x6) != 0
              || !
#line 8890 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   /* FIXME: without this LRA can't reload this pattern, see PR82524.  */
   && (rtx_equal_p (operands[0], operands[1])
       || rtx_equal_p (operands[0], operands[2]))))
            return -1;
          *pnum_clobbers = 1;
          return 451; /* *iorqi_ext_2 */

        case XOR:
          if (pattern153 (x1, pnum_clobbers) != 0)
            return -1;
          x6 = XEXP (x5, 1);
          operands[2] = x6;
          if (general_operand (operands[2], QImode)
              && 
#line 8867 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   /* FIXME: without this LRA can't reload this pattern, see PR82524.  */
   && rtx_equal_p (operands[0], operands[1])))
            {
              *pnum_clobbers = 1;
              return 450; /* *xorqi_ext_1 */
            }
          if (GET_CODE (x6) != SUBREG
              || pattern903 (x6) != 0
              || !
#line 8890 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   /* FIXME: without this LRA can't reload this pattern, see PR82524.  */
   && (rtx_equal_p (operands[0], operands[1])
       || rtx_equal_p (operands[0], operands[2]))))
            return -1;
          *pnum_clobbers = 1;
          return 452; /* *xorqi_ext_2 */

        default:
          return -1;
        }

    case CONST_INT:
      if (pnum_clobbers == NULL
          || pattern60 (x2) != 0)
        return -1;
      switch (XWINT (x4, 0))
        {
        case 1LL:
          if (!
#line 10900 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && (TARGET_USE_BT || reload_completed)))
            return -1;
          *pnum_clobbers = 1;
          return 599; /* *btsq */

        case 0LL:
          if (!
#line 10913 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && (TARGET_USE_BT || reload_completed)))
            return -1;
          *pnum_clobbers = 1;
          return 600; /* *btrq */

        default:
          return -1;
        }

    case LABEL_REF:
      if (GET_CODE (x2) != PC)
        return -1;
      x5 = XEXP (x4, 0);
      operands[0] = x5;
      return 649; /* jump */

    default:
      return -1;
    }
}

static int
recog_11 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && pattern30 (x1) == 0)
    return 115; /* *insvqi_3 */
  x3 = XEXP (x1, 0);
  switch (GET_CODE (x3))
    {
    case REG:
    case SUBREG:
    case MEM:
      operands[0] = x3;
      x4 = XEXP (x2, 0);
      operands[1] = x4;
      x5 = XEXP (x2, 1);
      operands[2] = x5;
      switch (GET_MODE (operands[0]))
        {
        case TImode:
          if (pnum_clobbers == NULL
              || pattern289 (x2, TImode, QImode) != 0
              || !
#line 1017 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
            return -1;
          *pnum_clobbers = 1;
          return 533; /* *lshrti3_doubleword */

        case QImode:
          if (pnum_clobbers == NULL
              || pattern3 (x2, QImode) != 0
              || !
#line 10416 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (LSHIFTRT, QImode, operands)))
            return -1;
          *pnum_clobbers = 1;
          return 552; /* *lshrqi3_1 */

        case HImode:
          if (pnum_clobbers == NULL
              || pattern3 (x2, HImode) != 0
              || !
#line 10416 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (LSHIFTRT, HImode, operands)))
            return -1;
          *pnum_clobbers = 1;
          return 554; /* *lshrhi3_1 */

        case V4HImode:
          if (pattern289 (x2, V4HImode, DImode) != 0
              || !
#line 948 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX))
            return -1;
          return 1156; /* mmx_lshrv4hi3 */

        case V2SImode:
          if (pattern289 (x2, V2SImode, DImode) != 0
              || !
#line 948 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX))
            return -1;
          return 1158; /* mmx_lshrv2si3 */

        case V1DImode:
          if (pattern289 (x2, V1DImode, DImode) != 0
              || !
#line 948 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX))
            return -1;
          return 1160; /* mmx_lshrv1di3 */

        default:
          return -1;
        }

    case STRICT_LOW_PART:
      if (pnum_clobbers == NULL
          || pattern4 (x1) != 0
          || !
#line 10439 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_REG_STALL
    || (operands[1] == const1_rtx
	&& TARGET_SHIFT1))))
        return -1;
      *pnum_clobbers = 1;
      return 556; /* *lshrqi3_1_slp */

    default:
      return -1;
    }
}

static int
recog_12 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode
      && pattern30 (x1) == 0)
    return 116; /* *insvqi_3 */
  x3 = XEXP (x1, 0);
  switch (GET_CODE (x3))
    {
    case REG:
    case SUBREG:
    case MEM:
      operands[0] = x3;
      x4 = XEXP (x2, 0);
      operands[1] = x4;
      x5 = XEXP (x2, 1);
      operands[2] = x5;
      switch (GET_MODE (operands[0]))
        {
        case TImode:
          if (pnum_clobbers == NULL
              || pattern289 (x2, TImode, QImode) != 0
              || !
#line 1017 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
            return -1;
          *pnum_clobbers = 1;
          return 534; /* *ashrti3_doubleword */

        case QImode:
          if (pnum_clobbers == NULL
              || pattern3 (x2, QImode) != 0
              || !
#line 10416 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ASHIFTRT, QImode, operands)))
            return -1;
          *pnum_clobbers = 1;
          return 553; /* *ashrqi3_1 */

        case HImode:
          if (pnum_clobbers == NULL
              || pattern3 (x2, HImode) != 0
              || !
#line 10416 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ASHIFTRT, HImode, operands)))
            return -1;
          *pnum_clobbers = 1;
          return 555; /* *ashrhi3_1 */

        case V4HImode:
          if (pattern289 (x2, V4HImode, DImode) != 0
              || !
#line 934 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX))
            return -1;
          return 1153; /* mmx_ashrv4hi3 */

        case V2SImode:
          if (pattern289 (x2, V2SImode, DImode) != 0
              || !
#line 934 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX))
            return -1;
          return 1154; /* mmx_ashrv2si3 */

        default:
          return -1;
        }

    case STRICT_LOW_PART:
      if (pnum_clobbers == NULL
          || pattern4 (x1) != 0
          || !
#line 10439 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_REG_STALL
    || (operands[1] == const1_rtx
	&& TARGET_SHIFT1))))
        return -1;
      *pnum_clobbers = 1;
      return 557; /* *ashrqi3_1_slp */

    default:
      return -1;
    }
}

static int
recog_13 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case CONST_INT:
    case CONST:
    case REG:
    case SUBREG:
    case MEM:
    case LABEL_REF:
    case SYMBOL_REF:
      switch (pattern61 (x3))
        {
        case 0:
          if (nonimmediate_operand (operands[0], DImode)
              && x86_64_zext_operand (operands[1], SImode))
            return 131; /* *zero_extendsidi2 */
          if (!register_operand (operands[0], DImode))
            return -1;
          switch (pattern284 ())
            {
            case 0:
              if (
#line 3860 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
                return 132; /* zero_extendqidi2 */
              if (
#line 3974 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_STV && TARGET_SSE2
   && TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)))
                return 140; /* *zextqi_doubleword_and */
              if (!
#line 3992 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_STV && TARGET_SSE2
   && !(TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun))))
                return -1;
              return 142; /* *zextqi_doubleword */

            case 1:
              if (
#line 3860 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
                return 133; /* zero_extendhidi2 */
              if (
#line 3974 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_STV && TARGET_SSE2
   && TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)))
                return 141; /* *zexthi_doubleword_and */
              if (!
#line 3992 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_STV && TARGET_SSE2
   && !(TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun))))
                return -1;
              return 143; /* *zexthi_doubleword */

            case 2:
              if (!
#line 4003 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_STV && TARGET_SSE2))
                return -1;
              return 144; /* *zextsi_doubleword */

            default:
              return -1;
            }

        case 1:
          switch (GET_MODE (operands[1]))
            {
            case QImode:
              if (!nonimmediate_operand (operands[1], QImode))
                return -1;
              if (pnum_clobbers != NULL
                  && 
#line 3886 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)))
                {
                  *pnum_clobbers = 1;
                  return 134; /* zero_extendqisi2_and */
                }
              if (!
#line 3912 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun))))
                return -1;
              return 136; /* *zero_extendqisi2 */

            case HImode:
              if (!nonimmediate_operand (operands[1], HImode))
                return -1;
              if (pnum_clobbers != NULL
                  && 
#line 3886 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)))
                {
                  *pnum_clobbers = 1;
                  return 135; /* zero_extendhisi2_and */
                }
              if (!
#line 3912 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun))))
                return -1;
              return 137; /* *zero_extendhisi2 */

            default:
              return -1;
            }

        case 2:
          if (pnum_clobbers != NULL
              && 
#line 3937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)))
            {
              *pnum_clobbers = 1;
              return 138; /* zero_extendqihi2_and */
            }
          if (!
#line 3963 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun))))
            return -1;
          return 139; /* *zero_extendqihi2 */

        default:
          return -1;
        }

    case SIGN_EXTEND:
      if (GET_MODE (x4) != SImode
          || !register_operand (operands[0], DImode)
          || GET_MODE (x3) != DImode)
        return -1;
      x5 = XEXP (x4, 0);
      operands[1] = x5;
      switch (GET_MODE (operands[1]))
        {
        case HImode:
          if (!nonimmediate_operand (operands[1], HImode)
              || !
#line 4187 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
            return -1;
          return 150; /* *extendhisi2_zext */

        case QImode:
          if (!nonimmediate_operand (operands[1], QImode)
              || !
#line 4222 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
            return -1;
          return 152; /* *extendqisi2_zext */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_14 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
    case MEM:
      switch (pattern61 (x3))
        {
        case 0:
          if (register_operand (operands[0], DImode))
            {
              switch (GET_MODE (operands[1]))
                {
                case SImode:
                  if (nonimmediate_operand (operands[1], SImode)
                      && 
#line 4027 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
                    return 145; /* *extendsidi2_rex64 */
                  break;

                case QImode:
                  if (nonimmediate_operand (operands[1], QImode)
                      && 
#line 4147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
                    return 147; /* extendqidi2 */
                  break;

                case HImode:
                  if (nonimmediate_operand (operands[1], HImode)
                      && 
#line 4147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
                    return 148; /* extendhidi2 */
                  break;

                default:
                  break;
                }
            }
          if (pnum_clobbers == NULL
              || !nonimmediate_operand (operands[0], DImode)
              || !register_operand (operands[1], SImode)
              || !
#line 4041 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT))
            return -1;
          *pnum_clobbers = 2;
          return 146; /* extendsidi2_1 */

        case 1:
          switch (GET_MODE (operands[1]))
            {
            case HImode:
              if (!nonimmediate_operand (operands[1], HImode))
                return -1;
              return 149; /* extendhisi2 */

            case QImode:
              if (!nonimmediate_operand (operands[1], QImode))
                return -1;
              return 151; /* extendqisi2 */

            default:
              return -1;
            }

        case 2:
          return 153; /* extendqihi2 */

        default:
          return -1;
        }

    case SS_TRUNCATE:
      if (GET_MODE (x4) != V2HImode)
        return -1;
      x5 = XEXP (x4, 0);
      if (GET_CODE (x5) != FIX
          || GET_MODE (x5) != V2SImode
          || !register_operand (operands[0], V2SImode)
          || GET_MODE (x3) != V2SImode)
        return -1;
      x6 = XEXP (x5, 0);
      operands[1] = x6;
      if (!nonimmediate_operand (operands[1], V2SFmode)
          || !
#line 518 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_3DNOW_A))
        return -1;
      return 1119; /* mmx_pf2iw */

    default:
      return -1;
    }
}

static int
recog_15 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  switch (GET_MODE (operands[0]))
    {
    case DFmode:
      if (!nonimm_ssenomem_operand (operands[0], DFmode)
          || GET_MODE (x3) != DFmode
          || !nonimmediate_operand (operands[1], SFmode)
          || !
#line 4366 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 || (TARGET_SSE2 && TARGET_SSE_MATH)))
        return -1;
      return 154; /* *extendsfdf2 */

    case XFmode:
      if (!nonimmediate_operand (operands[0], XFmode)
          || GET_MODE (x3) != XFmode)
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case SFmode:
          if (!nonimmediate_operand (operands[1], SFmode)
              || !
#line 4420 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387))
            return -1;
          return 155; /* *extendsfxf2_i387 */

        case DFmode:
          if (!nonimmediate_operand (operands[1], DFmode)
              || !
#line 4420 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387))
            return -1;
          return 156; /* *extenddfxf2_i387 */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_16 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  switch (GET_MODE (operands[0]))
    {
    case SFmode:
      if (GET_MODE (x3) != SFmode)
        return -1;
      if (nonimmediate_operand (operands[0], SFmode)
          && nonimmediate_operand (operands[1], DFmode))
        {
          if (
#line 4519 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_SSE2 && TARGET_SSE_MATH))
            return 157; /* *truncdfsf_fast_mixed */
          if (
#line 4545 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && flag_unsafe_math_optimizations))
            return 158; /* *truncdfsf_fast_i387 */
        }
      if (memory_operand (operands[0], SFmode)
          && register_operand (operands[1], DFmode)
          && 
#line 4598 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387
   && !(TARGET_SSE2 && TARGET_SSE_MATH)
   && !TARGET_MIX_SSE_I387))
        return 161; /* *truncdfsf2_i387_1 */
      if (!register_operand (operands[1], XFmode))
        return -1;
      if (register_operand (operands[0], SFmode)
          && 
#line 4669 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && flag_unsafe_math_optimizations))
        return 164; /* truncxfsf2_i387_noop */
      if (!memory_operand (operands[0], SFmode)
          || !
#line 4678 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387))
        return -1;
      return 166; /* *truncxfsf2_i387 */

    case DFmode:
      if (GET_MODE (x3) != DFmode
          || !register_operand (operands[1], XFmode))
        return -1;
      if (register_operand (operands[0], DFmode)
          && 
#line 4669 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && flag_unsafe_math_optimizations))
        return 165; /* truncxfdf2_i387_noop */
      if (!memory_operand (operands[0], DFmode)
          || !
#line 4678 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387))
        return -1;
      return 167; /* *truncxfdf2_i387 */

    default:
      return -1;
    }
}

static int
recog_17 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  switch (GET_MODE (operands[0]))
    {
    case SImode:
      if (GET_MODE (x3) != SImode)
        return -1;
      if (register_operand (operands[0], SImode))
        {
          switch (GET_MODE (operands[1]))
            {
            case SFmode:
              if (nonimmediate_operand (operands[1], SFmode)
                  && 
#line 4849 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(SSE_FLOAT_MODE_P (SFmode)
   && (!TARGET_FISTTP || TARGET_SSE_MATH)))
                return 170; /* fix_truncsfsi_sse */
              break;

            case DFmode:
              if (nonimmediate_operand (operands[1], DFmode)
                  && 
#line 4849 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(SSE_FLOAT_MODE_P (DFmode)
   && (!TARGET_FISTTP || TARGET_SSE_MATH)))
                return 172; /* fix_truncdfsi_sse */
              break;

            default:
              break;
            }
        }
      if (!register_operand (operands[1], VOIDmode))
        return -1;
      if (nonimmediate_operand (operands[0], SImode)
          && 
#line 4878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 175; /* fix_truncsi_fisttp_i387_1 */
      if (pnum_clobbers == NULL)
        return -1;
      if (memory_operand (operands[0], SImode)
          && 
#line 4906 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 = 1;
          return 178; /* fix_truncsi_i387_fisttp */
        }
      if (!nonimmediate_operand (operands[0], SImode)
          || !
#line 4957 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
      *pnum_clobbers = 1;
      return 184; /* *fix_truncsi_i387_1 */

    case DImode:
      if (GET_MODE (x3) != DImode)
        return -1;
      if (register_operand (operands[0], DImode))
        {
          switch (GET_MODE (operands[1]))
            {
            case SFmode:
              if (nonimmediate_operand (operands[1], SFmode)
                  && (
#line 4849 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(SSE_FLOAT_MODE_P (SFmode)
   && (!TARGET_FISTTP || TARGET_SSE_MATH)) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return 171; /* fix_truncsfdi_sse */
              break;

            case DFmode:
              if (nonimmediate_operand (operands[1], DFmode)
                  && (
#line 4849 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(SSE_FLOAT_MODE_P (DFmode)
   && (!TARGET_FISTTP || TARGET_SSE_MATH)) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return 173; /* fix_truncdfdi_sse */
              break;

            default:
              break;
            }
        }
      if (!register_operand (operands[1], VOIDmode))
        return -1;
      if (nonimmediate_operand (operands[0], DImode)
          && 
#line 4878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 176; /* fix_truncdi_fisttp_i387_1 */
      if (pnum_clobbers == NULL)
        return -1;
      if (memory_operand (operands[0], DImode)
          && 
#line 4906 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 = 1;
          return 179; /* fix_truncdi_i387_fisttp */
        }
      if (!nonimmediate_operand (operands[0], DImode)
          || !
#line 4957 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
      *pnum_clobbers = 1;
      return 185; /* *fix_truncdi_i387_1 */

    case HImode:
      if (GET_MODE (x3) != HImode
          || !register_operand (operands[1], VOIDmode))
        return -1;
      if (nonimmediate_operand (operands[0], HImode)
          && 
#line 4878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 174; /* fix_trunchi_fisttp_i387_1 */
      if (pnum_clobbers == NULL)
        return -1;
      if (memory_operand (operands[0], HImode)
          && 
#line 4906 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 = 1;
          return 177; /* fix_trunchi_i387_fisttp */
        }
      if (!nonimmediate_operand (operands[0], HImode)
          || !
#line 4957 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
      *pnum_clobbers = 1;
      return 183; /* *fix_trunchi_i387_1 */

    case V2SImode:
      if (!register_operand (operands[0], V2SImode)
          || GET_MODE (x3) != V2SImode)
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case V2SFmode:
          if (!nonimmediate_operand (operands[1], V2SFmode)
              || !
#line 506 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_3DNOW))
            return -1;
          return 1118; /* mmx_pf2id */

        case V2DFmode:
          if (!nonimmediate_operand (operands[1], V2DFmode)
              || !
#line 4629 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))
            return -1;
          return 2185; /* sse2_cvttpd2pi */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_18 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
    case MEM:
      operands[1] = x4;
      switch (GET_MODE (operands[0]))
        {
        case SFmode:
          switch (pattern208 (x3, SFmode))
            {
            case 0:
              if (!
#line 5125 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387
   && (!(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
       || TARGET_MIX_SSE_I387)))
                return -1;
              return 194; /* floathisf2 */

            case 1:
              if (
#line 5173 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH))
                return 199; /* *floatsisf2_mixed */
              if (!
#line 5208 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && X87_ENABLE_FLOAT (SFmode, SImode)))
                return -1;
              return 203; /* *floatsisf2_i387 */

            case 2:
              if ((
#line 5173 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return 200; /* *floatdisf2_mixed */
              if (!
#line 5208 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && X87_ENABLE_FLOAT (SFmode, DImode)))
                return -1;
              return 205; /* *floatdisf2_i387 */

            default:
              return -1;
            }

        case DFmode:
          switch (pattern208 (x3, DFmode))
            {
            case 0:
              if (!
#line 5125 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387
   && (!(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
       || TARGET_MIX_SSE_I387)))
                return -1;
              return 195; /* floathidf2 */

            case 1:
              if (
#line 5173 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH))
                return 201; /* *floatsidf2_mixed */
              if (!
#line 5208 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && X87_ENABLE_FLOAT (DFmode, SImode)))
                return -1;
              return 204; /* *floatsidf2_i387 */

            case 2:
              if ((
#line 5173 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return 202; /* *floatdidf2_mixed */
              if (!
#line 5208 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && X87_ENABLE_FLOAT (DFmode, DImode)))
                return -1;
              return 206; /* *floatdidf2_i387 */

            default:
              return -1;
            }

        case XFmode:
          switch (pattern208 (x3, XFmode))
            {
            case 0:
              if (!
#line 5125 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387
   && (!(SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH)
       || TARGET_MIX_SSE_I387)))
                return -1;
              return 196; /* floathixf2 */

            case 1:
              if (!
#line 5137 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387))
                return -1;
              return 197; /* floatsixf2 */

            case 2:
              if (!
#line 5137 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387))
                return -1;
              return 198; /* floatdixf2 */

            default:
              return -1;
            }

        case V2SFmode:
          if (!register_operand (operands[0], V2SFmode)
              || GET_MODE (x3) != V2SFmode
              || !nonimmediate_operand (operands[1], V2SImode)
              || !
#line 539 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_3DNOW))
            return -1;
          return 1121; /* mmx_floatv2si2 */

        default:
          return -1;
        }

    case SIGN_EXTEND:
      if (GET_MODE (x4) != V2SImode)
        return -1;
      x5 = XEXP (x4, 0);
      if (GET_CODE (x5) != TRUNCATE
          || GET_MODE (x5) != V2HImode
          || !register_operand (operands[0], V2SFmode)
          || GET_MODE (x3) != V2SFmode)
        return -1;
      x6 = XEXP (x5, 0);
      operands[1] = x6;
      if (!nonimmediate_operand (operands[1], V2SImode)
          || !
#line 530 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_3DNOW_A))
        return -1;
      return 1120; /* mmx_pi2fw */

    default:
      return -1;
    }
}

static int
recog_19 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  switch (GET_CODE (x3))
    {
    case ASHIFT:
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      x5 = XEXP (x3, 0);
      switch (GET_CODE (x5))
        {
        case REG:
        case SUBREG:
          switch (pattern63 (x2))
            {
            case 0:
              if (!
#line 6423 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   && ((unsigned HOST_WIDE_INT) INTVAL (operands[3])
       < (HOST_WIDE_INT_1U << INTVAL (operands[2])))))
                return -1;
              return 261; /* *leaqi_general_4 */

            case 1:
              if (!
#line 6423 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   && ((unsigned HOST_WIDE_INT) INTVAL (operands[3])
       < (HOST_WIDE_INT_1U << INTVAL (operands[2])))))
                return -1;
              return 263; /* *leahi_general_4 */

            default:
              return -1;
            }

        case ZERO_EXTEND:
          if (GET_MODE (x5) != HImode)
            return -1;
          x6 = XEXP (x3, 1);
          if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
            return -1;
          x7 = XEXP (x2, 1);
          if (GET_CODE (x7) != ZERO_EXTEND
              || GET_MODE (x7) != HImode
              || !register_operand (operands[0], HImode)
              || GET_MODE (x2) != HImode
              || GET_MODE (x3) != HImode)
            return -1;
          x8 = XEXP (x5, 0);
          switch (GET_CODE (x8))
            {
            case TRUNCATE:
              if (pnum_clobbers == NULL
                  || GET_MODE (x8) != QImode)
                return -1;
              x9 = XEXP (x8, 0);
              if (GET_CODE (x9) != MOD
                  || GET_MODE (x9) != HImode)
                return -1;
              x10 = XEXP (x7, 0);
              if (pattern750 (x10, HImode, DIV, QImode, TRUNCATE) != 0)
                return -1;
              x11 = XEXP (x9, 0);
              operands[1] = x11;
              if (!register_operand (operands[1], HImode))
                return -1;
              x12 = XEXP (x9, 1);
              if (GET_MODE (x12) != HImode)
                return -1;
              x13 = XEXP (x10, 0);
              x14 = XEXP (x13, 1);
              if (GET_MODE (x14) != HImode)
                return -1;
              x15 = XEXP (x13, 0);
              if (!rtx_equal_p (x15, operands[1]))
                return -1;
              switch (GET_CODE (x12))
                {
                case SIGN_EXTEND:
                  if (GET_CODE (x14) != SIGN_EXTEND)
                    return -1;
                  x16 = XEXP (x12, 0);
                  operands[2] = x16;
                  if (!nonimmediate_operand (operands[2], QImode))
                    return -1;
                  x17 = XEXP (x14, 0);
                  if (!rtx_equal_p (x17, operands[2])
                      || !
#line 7669 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_QIMODE_MATH))
                    return -1;
                  *pnum_clobbers = 1;
                  return 365; /* divmodhiqi3 */

                case ZERO_EXTEND:
                  if (GET_CODE (x14) != ZERO_EXTEND)
                    return -1;
                  x16 = XEXP (x12, 0);
                  operands[2] = x16;
                  if (!nonimmediate_operand (operands[2], QImode))
                    return -1;
                  x17 = XEXP (x14, 0);
                  if (!rtx_equal_p (x17, operands[2])
                      || !
#line 7835 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_QIMODE_MATH))
                    return -1;
                  *pnum_clobbers = 1;
                  return 376; /* udivmodhiqi3 */

                default:
                  return -1;
                }

            case REG:
            case SUBREG:
              operands[1] = x8;
              if (!register_operand (operands[1], QImode))
                return -1;
              x10 = XEXP (x7, 0);
              operands[2] = x10;
              if (!register_operand (operands[2], QImode)
                  || !
#line 1468 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return -1;
              return 1340; /* kunpckhi */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case REG:
    case SUBREG:
    case MEM:
      switch (pattern34 (x1, pnum_clobbers))
        {
        case 0:
          if (!
#line 8728 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (IOR, HImode, operands)))
            return -1;
          *pnum_clobbers = 1;
          return 413; /* *iorhi_1 */

        case 1:
          if (!
#line 8761 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (IOR, QImode, operands)))
            return -1;
          *pnum_clobbers = 1;
          return 423; /* *iorqi_1 */

        case 2:
          if (!
#line 1020 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX && ix86_binary_operator_ok (IOR, V8QImode, operands)))
            return -1;
          return 1171; /* *mmx_iorv8qi3 */

        case 3:
          if (!
#line 1020 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX && ix86_binary_operator_ok (IOR, V4HImode, operands)))
            return -1;
          return 1174; /* *mmx_iorv4hi3 */

        case 4:
          if (!
#line 1020 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX && ix86_binary_operator_ok (IOR, V2SImode, operands)))
            return -1;
          return 1177; /* *mmx_iorv2si3 */

        case 5:
          if (!
#line 3383 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(SSE_FLOAT_MODE_P (SFmode)))
            return -1;
          return 1781; /* *iorsf3 */

        case 6:
          if (!
#line 3383 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(SSE_FLOAT_MODE_P (DFmode)))
            return -1;
          return 1784; /* *iordf3 */

        case 7:
          if (!
#line 3457 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && ix86_binary_operator_ok (IOR, TFmode, operands)))
            return -1;
          return 1787; /* *iortf3 */

        case 8:
          if (!
#line 8779 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
            return -1;
          *pnum_clobbers = 1;
          return 425; /* *iorqi_1_slp */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_20 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  switch (XVECLEN (x4, 0))
    {
    case 3:
      x5 = XVECEXP (x4, 0, 0);
      operands[1] = x5;
      x6 = XVECEXP (x4, 0, 1);
      operands[2] = x6;
      x7 = XVECEXP (x4, 0, 2);
      operands[3] = x7;
      switch (XINT (x4, 1))
        {
        case 136:
          x8 = XEXP (x3, 1);
          switch (GET_CODE (x8))
            {
            case REG:
            case SUBREG:
              switch (pattern464 (x3))
                {
                case 0:
                  switch (GET_MODE (operands[1]))
                    {
                    case V16SImode:
                      if (!register_operand (operands[1], V16SImode)
                          || !nonimmediate_operand (operands[2], V16SImode)
                          || !const_0_to_7_operand (operands[3], SImode)
                          || !(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 2588 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1)))
                        return -1;
                      return 1640; /* avx512f_cmpv16si3_mask */

                    case V16SFmode:
                      if (!register_operand (operands[1], V16SFmode)
                          || !nonimmediate_operand (operands[2], V16SFmode)
                          || !const_0_to_31_operand (operands[3], SImode)
                          || !(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 2588 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1)))
                        return -1;
                      return 1656; /* avx512f_cmpv16sf3_mask */

                    case V16QImode:
                      if (!register_operand (operands[1], V16QImode)
                          || !nonimmediate_operand (operands[2], V16QImode)
                          || !const_0_to_7_operand (operands[3], SImode)
                          || !(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 2602 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                        return -1;
                      return 1674; /* avx512vl_cmpv16qi3_mask */

                    case V16HImode:
                      if (!register_operand (operands[1], V16HImode)
                          || !nonimmediate_operand (operands[2], V16HImode)
                          || !const_0_to_7_operand (operands[3], SImode)
                          || !(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 2602 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                        return -1;
                      return 1680; /* avx512vl_cmpv16hi3_mask */

                    default:
                      return -1;
                    }

                case 1:
                  switch (GET_MODE (operands[1]))
                    {
                    case V8SImode:
                      if (!register_operand (operands[1], V8SImode)
                          || !nonimmediate_operand (operands[2], V8SImode)
                          || !const_0_to_7_operand (operands[3], SImode)
                          || !(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 2588 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1) && 
#line 184 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                        return -1;
                      return 1644; /* avx512vl_cmpv8si3_mask */

                    case V4SImode:
                      if (!register_operand (operands[1], V4SImode)
                          || !nonimmediate_operand (operands[2], V4SImode)
                          || !const_0_to_7_operand (operands[3], SImode)
                          || !(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 2588 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1) && 
#line 184 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                        return -1;
                      return 1646; /* avx512vl_cmpv4si3_mask */

                    case V8DImode:
                      if (!register_operand (operands[1], V8DImode)
                          || !nonimmediate_operand (operands[2], V8DImode)
                          || !const_0_to_7_operand (operands[3], SImode)
                          || !(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 2588 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1)))
                        return -1;
                      return 1648; /* avx512f_cmpv8di3_mask */

                    case V4DImode:
                      if (!register_operand (operands[1], V4DImode)
                          || !nonimmediate_operand (operands[2], V4DImode)
                          || !const_0_to_7_operand (operands[3], SImode)
                          || !(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 2588 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1) && 
#line 185 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                        return -1;
                      return 1652; /* avx512vl_cmpv4di3_mask */

                    case V2DImode:
                      if (!register_operand (operands[1], V2DImode)
                          || !nonimmediate_operand (operands[2], V2DImode)
                          || !const_0_to_7_operand (operands[3], SImode)
                          || !(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 2588 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1) && 
#line 185 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                        return -1;
                      return 1654; /* avx512vl_cmpv2di3_mask */

                    case V8SFmode:
                      if (!register_operand (operands[1], V8SFmode)
                          || !nonimmediate_operand (operands[2], V8SFmode)
                          || !const_0_to_31_operand (operands[3], SImode)
                          || !(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 2588 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1) && 
#line 186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                        return -1;
                      return 1660; /* avx512vl_cmpv8sf3_mask */

                    case V4SFmode:
                      if (!register_operand (operands[1], V4SFmode)
                          || !nonimmediate_operand (operands[2], V4SFmode)
                          || !const_0_to_31_operand (operands[3], SImode)
                          || !(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 2588 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1) && 
#line 186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                        return -1;
                      return 1662; /* avx512vl_cmpv4sf3_mask */

                    case V8DFmode:
                      if (!register_operand (operands[1], V8DFmode)
                          || !nonimmediate_operand (operands[2], V8DFmode)
                          || !const_0_to_31_operand (operands[3], SImode)
                          || !(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 2588 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1)))
                        return -1;
                      return 1664; /* avx512f_cmpv8df3_mask */

                    case V4DFmode:
                      if (!register_operand (operands[1], V4DFmode)
                          || !nonimmediate_operand (operands[2], V4DFmode)
                          || !const_0_to_31_operand (operands[3], SImode)
                          || !(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 2588 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1) && 
#line 187 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                        return -1;
                      return 1668; /* avx512vl_cmpv4df3_mask */

                    case V2DFmode:
                      if (!register_operand (operands[1], V2DFmode)
                          || !nonimmediate_operand (operands[2], V2DFmode)
                          || !const_0_to_31_operand (operands[3], SImode)
                          || !(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 2588 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1) && 
#line 187 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                        return -1;
                      return 1670; /* avx512vl_cmpv2df3_mask */

                    case V8HImode:
                      if (!register_operand (operands[1], V8HImode)
                          || !nonimmediate_operand (operands[2], V8HImode)
                          || !const_0_to_7_operand (operands[3], SImode)
                          || !(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 2602 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                        return -1;
                      return 1682; /* avx512vl_cmpv8hi3_mask */

                    default:
                      return -1;
                    }

                default:
                  return -1;
                }

            case CONST_INT:
              if (XWINT (x8, 0) != 1LL
                  || pattern513 (x3) != 0)
                return -1;
              switch (pattern696 ())
                {
                case 0:
                  if (!
#line 2646 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                    return -1;
                  return 1707; /* avx512f_vmcmpv4sf3 */

                case 1:
                  if (!(
#line 2646 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
                    return -1;
                  return 1709; /* avx512f_vmcmpv2df3 */

                default:
                  return -1;
                }

            case AND:
              if (GET_MODE (x8) != QImode)
                return -1;
              x9 = XEXP (x8, 1);
              if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
                  || pattern513 (x3) != 0)
                return -1;
              x10 = XEXP (x8, 0);
              operands[4] = x10;
              if (!register_operand (operands[4], QImode))
                return -1;
              switch (pattern696 ())
                {
                case 0:
                  if (!
#line 2664 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                    return -1;
                  return 1711; /* avx512f_vmcmpv4sf3_mask */

                case 1:
                  if (!(
#line 2664 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
                    return -1;
                  return 1713; /* avx512f_vmcmpv2df3_mask */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case 152:
          if (!const_0_to_7_operand (operands[3], SImode))
            return -1;
          switch (pattern464 (x3))
            {
            case 0:
              switch (pattern346 ())
                {
                case 0:
                  if (!(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 2616 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 1686; /* avx512vl_ucmpv16qi3_mask */

                case 1:
                  if (!(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 2616 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 1692; /* avx512vl_ucmpv16hi3_mask */

                case 2:
                  if (!
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                    return -1;
                  return 1696; /* avx512f_ucmpv16si3_mask */

                default:
                  return -1;
                }

            case 1:
              switch (pattern347 ())
                {
                case 0:
                  if (!(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 2616 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 1694; /* avx512vl_ucmpv8hi3_mask */

                case 1:
                  if (!(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 2630 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 1698; /* avx512vl_ucmpv8si3_mask */

                case 2:
                  if (!(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 2630 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 1700; /* avx512vl_ucmpv4si3_mask */

                case 3:
                  if (!
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                    return -1;
                  return 1702; /* avx512f_ucmpv8di3_mask */

                case 4:
                  if (!(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 2630 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 1704; /* avx512vl_ucmpv4di3_mask */

                case 5:
                  if (!(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 2630 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 1706; /* avx512vl_ucmpv2di3_mask */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 2:
      x5 = XVECEXP (x4, 0, 0);
      operands[1] = x5;
      x6 = XVECEXP (x4, 0, 1);
      operands[2] = x6;
      switch (XINT (x4, 1))
        {
        case 168:
          switch (pattern348 (x3))
            {
            case 0:
              if (!(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11146 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (EQ, V16QImode, operands)) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 3339; /* avx512vl_eqv16qi3_mask_1 */

            case 1:
              if (!(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11146 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (EQ, V16HImode, operands)) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 3345; /* avx512vl_eqv16hi3_mask_1 */

            case 2:
              if (!(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 11159 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (EQ, V16SImode, operands))))
                return -1;
              return 3349; /* avx512f_eqv16si3_mask_1 */

            case 3:
              if (!(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11146 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (EQ, V8HImode, operands)) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 3347; /* avx512vl_eqv8hi3_mask_1 */

            case 4:
              if (!(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11159 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (EQ, V8SImode, operands)) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 3351; /* avx512vl_eqv8si3_mask_1 */

            case 5:
              if (!(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11159 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (EQ, V4SImode, operands)) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 3353; /* avx512vl_eqv4si3_mask_1 */

            case 6:
              if (!(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 11159 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (EQ, V8DImode, operands))))
                return -1;
              return 3355; /* avx512f_eqv8di3_mask_1 */

            case 7:
              if (!(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11159 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (EQ, V4DImode, operands)) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 3357; /* avx512vl_eqv4di3_mask_1 */

            case 8:
              if (!(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11159 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (EQ, V2DImode, operands)) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 3359; /* avx512vl_eqv2di3_mask_1 */

            default:
              return -1;
            }

        case 169:
          x8 = XEXP (x3, 1);
          operands[3] = x8;
          switch (GET_MODE (operands[0]))
            {
            case HImode:
              if (pattern465 (x3, HImode) != 0)
                return -1;
              switch (GET_MODE (operands[1]))
                {
                case V16SImode:
                  if (!register_operand (operands[1], V16SImode)
                      || !nonimmediate_operand (operands[2], V16SImode)
                      || !
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                    return -1;
                  return 3370; /* avx512f_gtv16si3_mask */

                case V16QImode:
                  if (!register_operand (operands[1], V16QImode)
                      || !nonimmediate_operand (operands[2], V16QImode)
                      || !(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11259 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 3384; /* avx512vl_gtv16qi3_mask */

                case V16HImode:
                  if (!register_operand (operands[1], V16HImode)
                      || !nonimmediate_operand (operands[2], V16HImode)
                      || !(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11259 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 3390; /* avx512vl_gtv16hi3_mask */

                default:
                  return -1;
                }

            case QImode:
              if (pattern465 (x3, QImode) != 0)
                return -1;
              switch (GET_MODE (operands[1]))
                {
                case V8SImode:
                  if (!register_operand (operands[1], V8SImode)
                      || !nonimmediate_operand (operands[2], V8SImode)
                      || !(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11247 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 3372; /* avx512vl_gtv8si3_mask */

                case V4SImode:
                  if (!register_operand (operands[1], V4SImode)
                      || !nonimmediate_operand (operands[2], V4SImode)
                      || !(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11247 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 3374; /* avx512vl_gtv4si3_mask */

                case V8DImode:
                  if (!register_operand (operands[1], V8DImode)
                      || !nonimmediate_operand (operands[2], V8DImode)
                      || !
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                    return -1;
                  return 3376; /* avx512f_gtv8di3_mask */

                case V4DImode:
                  if (!register_operand (operands[1], V4DImode)
                      || !nonimmediate_operand (operands[2], V4DImode)
                      || !(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11247 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 3378; /* avx512vl_gtv4di3_mask */

                case V2DImode:
                  if (!register_operand (operands[1], V2DImode)
                      || !nonimmediate_operand (operands[2], V2DImode)
                      || !(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11247 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 3380; /* avx512vl_gtv2di3_mask */

                case V8HImode:
                  if (!register_operand (operands[1], V8HImode)
                      || !nonimmediate_operand (operands[2], V8HImode)
                      || !(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11259 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 3392; /* avx512vl_gtv8hi3_mask */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case 153:
          switch (pattern348 (x3))
            {
            case 0:
              if (!(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11849 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 3489; /* avx512vl_testmv16qi3_mask */

            case 1:
              if (!(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11849 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 3495; /* avx512vl_testmv16hi3_mask */

            case 2:
              if (!
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                return -1;
              return 3499; /* avx512f_testmv16si3_mask */

            case 3:
              if (!(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11849 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 3497; /* avx512vl_testmv8hi3_mask */

            case 4:
              if (!(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11860 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 3501; /* avx512vl_testmv8si3_mask */

            case 5:
              if (!(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11860 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 3503; /* avx512vl_testmv4si3_mask */

            case 6:
              if (!
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                return -1;
              return 3505; /* avx512f_testmv8di3_mask */

            case 7:
              if (!(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11860 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 3507; /* avx512vl_testmv4di3_mask */

            case 8:
              if (!(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11860 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 3509; /* avx512vl_testmv2di3_mask */

            default:
              return -1;
            }

        case 154:
          switch (pattern348 (x3))
            {
            case 0:
              if (!(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11871 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 3513; /* avx512vl_testnmv16qi3_mask */

            case 1:
              if (!(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11871 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 3519; /* avx512vl_testnmv16hi3_mask */

            case 2:
              if (!
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                return -1;
              return 3523; /* avx512f_testnmv16si3_mask */

            case 3:
              if (!(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11871 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 3521; /* avx512vl_testnmv8hi3_mask */

            case 4:
              if (!(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11882 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 3525; /* avx512vl_testnmv8si3_mask */

            case 5:
              if (!(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11882 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 3527; /* avx512vl_testnmv4si3_mask */

            case 6:
              if (!
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                return -1;
              return 3529; /* avx512f_testnmv8di3_mask */

            case 7:
              if (!(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11882 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 3531; /* avx512vl_testnmv4di3_mask */

            case 8:
              if (!(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11882 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 3533; /* avx512vl_testnmv2di3_mask */

            default:
              return -1;
            }

        case 193:
          if (!const_0_to_255_operand (operands[2], QImode))
            return -1;
          x8 = XEXP (x3, 1);
          switch (GET_CODE (x8))
            {
            case REG:
            case SUBREG:
              operands[3] = x8;
              switch (GET_MODE (operands[0]))
                {
                case HImode:
                  if (!register_operand (operands[0], HImode)
                      || GET_MODE (x3) != HImode
                      || GET_MODE (x4) != HImode
                      || !register_operand (operands[1], V16SFmode)
                      || !register_operand (operands[3], HImode)
                      || !(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 19450 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ)))
                    return -1;
                  return 4822; /* avx512dq_fpclassv16sf_mask */

                case QImode:
                  if (pattern465 (x3, QImode) != 0)
                    return -1;
                  switch (GET_MODE (operands[1]))
                    {
                    case V8SFmode:
                      if (!register_operand (operands[1], V8SFmode)
                          || !(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 19450 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                        return -1;
                      return 4824; /* avx512dq_fpclassv8sf_mask */

                    case V4SFmode:
                      if (!register_operand (operands[1], V4SFmode)
                          || !(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 19450 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                        return -1;
                      return 4826; /* avx512dq_fpclassv4sf_mask */

                    case V8DFmode:
                      if (!register_operand (operands[1], V8DFmode)
                          || !(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 19450 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ)))
                        return -1;
                      return 4828; /* avx512dq_fpclassv8df_mask */

                    case V4DFmode:
                      if (!register_operand (operands[1], V4DFmode)
                          || !(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 19450 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                        return -1;
                      return 4830; /* avx512dq_fpclassv4df_mask */

                    case V2DFmode:
                      if (!register_operand (operands[1], V2DFmode)
                          || !(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 19450 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                        return -1;
                      return 4832; /* avx512dq_fpclassv2df_mask */

                    default:
                      return -1;
                    }

                default:
                  return -1;
                }

            case CONST_INT:
              if (XWINT (x8, 0) != 1LL
                  || !register_operand (operands[0], QImode)
                  || GET_MODE (x3) != QImode
                  || GET_MODE (x4) != QImode)
                return -1;
              switch (GET_MODE (operands[1]))
                {
                case V4SFmode:
                  if (!register_operand (operands[1], V4SFmode)
                      || !
#line 19465 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ))
                    return -1;
                  return 4833; /* avx512dq_vmfpclassv4sf */

                case V2DFmode:
                  if (!register_operand (operands[1], V2DFmode)
                      || !(
#line 19465 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
                    return -1;
                  return 4834; /* avx512dq_vmfpclassv2df */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_21 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  switch (GET_CODE (x3))
    {
    case REG:
    case SUBREG:
    case MEM:
      switch (pattern34 (x1, pnum_clobbers))
        {
        case 0:
          if (!
#line 8233 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (AND, HImode, operands)))
            return -1;
          *pnum_clobbers = 1;
          return 390; /* *andhi_1 */

        case 1:
          if (!
#line 8254 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (AND, QImode, operands)))
            return -1;
          *pnum_clobbers = 1;
          return 392; /* *andqi_1 */

        case 2:
          if (!
#line 1020 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX && ix86_binary_operator_ok (AND, V8QImode, operands)))
            return -1;
          return 1170; /* *mmx_andv8qi3 */

        case 3:
          if (!
#line 1020 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX && ix86_binary_operator_ok (AND, V4HImode, operands)))
            return -1;
          return 1173; /* *mmx_andv4hi3 */

        case 4:
          if (!
#line 1020 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX && ix86_binary_operator_ok (AND, V2SImode, operands)))
            return -1;
          return 1176; /* *mmx_andv2si3 */

        case 5:
          if (!
#line 3383 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(SSE_FLOAT_MODE_P (SFmode)))
            return -1;
          return 1780; /* *andsf3 */

        case 6:
          if (!
#line 3383 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(SSE_FLOAT_MODE_P (DFmode)))
            return -1;
          return 1783; /* *anddf3 */

        case 7:
          if (!
#line 3457 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && ix86_binary_operator_ok (AND, TFmode, operands)))
            return -1;
          return 1786; /* *andtf3 */

        case 8:
          if (!
#line 8272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
            return -1;
          *pnum_clobbers = 1;
          return 393; /* *andqi_1_slp */

        default:
          return -1;
        }

    case NOT:
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      x5 = XEXP (x3, 0);
      operands[1] = x5;
      x6 = XEXP (x2, 1);
      operands[2] = x6;
      switch (GET_MODE (operands[0]))
        {
        case QImode:
          if (pnum_clobbers == NULL
              || pattern291 (x2, QImode) != 0
              || !
#line 8648 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI))
            return -1;
          *pnum_clobbers = 1;
          return 407; /* *andnqi_1 */

        case HImode:
          if (pnum_clobbers == NULL
              || pattern291 (x2, HImode) != 0
              || !
#line 8648 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI))
            return -1;
          *pnum_clobbers = 1;
          return 408; /* *andnhi_1 */

        case V8QImode:
          if (pattern290 (x2, V8QImode) != 0
              || !
#line 1002 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX))
            return -1;
          return 1167; /* mmx_andnotv8qi3 */

        case V4HImode:
          if (pattern290 (x2, V4HImode) != 0
              || !
#line 1002 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX))
            return -1;
          return 1168; /* mmx_andnotv4hi3 */

        case V2SImode:
          if (pattern290 (x2, V2SImode) != 0
              || !
#line 1002 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX))
            return -1;
          return 1169; /* mmx_andnotv2si3 */

        case SFmode:
          if (pattern291 (x2, SFmode) != 0
              || !
#line 3260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(SSE_FLOAT_MODE_P (SFmode)))
            return -1;
          return 1777; /* *andnotsf3 */

        case DFmode:
          if (pattern291 (x2, DFmode) != 0
              || !
#line 3260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(SSE_FLOAT_MODE_P (DFmode)))
            return -1;
          return 1778; /* *andnotdf3 */

        case TFmode:
          if (pattern292 (x2, TFmode) != 0
              || !
#line 3327 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE))
            return -1;
          return 1779; /* *andnottf3 */

        default:
          return -1;
        }

    case UNSPEC:
      return recog_20 (x1, insn, pnum_clobbers);

    default:
      return -1;
    }
}

static int
recog_22 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  switch (GET_CODE (x3))
    {
    case REG:
    case SUBREG:
    case MEM:
      operands[1] = x3;
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      switch (GET_MODE (operands[0]))
        {
        case HImode:
          if (!nonimmediate_operand (operands[0], HImode)
              || GET_MODE (x2) != HImode
              || !nonimmediate_operand (operands[1], HImode)
              || !
#line 9411 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_unary_operator_ok (NOT, HImode, operands)))
            return -1;
          return 493; /* *one_cmplhi2_1 */

        case QImode:
          if (!nonimmediate_operand (operands[0], QImode)
              || GET_MODE (x2) != QImode
              || !nonimmediate_operand (operands[1], QImode)
              || !
#line 9429 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_unary_operator_ok (NOT, QImode, operands)))
            return -1;
          return 497; /* *one_cmplqi2_1 */

        default:
          return -1;
        }

    case ZERO_EXTRACT:
      if (pnum_clobbers == NULL
          || GET_MODE (x3) != DImode)
        return -1;
      x5 = XEXP (x3, 1);
      if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
        return -1;
      x4 = XEXP (x1, 0);
      if (pattern60 (x4) != 0
          || GET_MODE (x2) != DImode)
        return -1;
      x6 = XEXP (x3, 0);
      if (!rtx_equal_p (x6, operands[0]))
        return -1;
      x7 = XEXP (x3, 2);
      if (!rtx_equal_p (x7, operands[1])
          || !
#line 10926 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && (TARGET_USE_BT || reload_completed)))
        return -1;
      *pnum_clobbers = 1;
      return 601; /* *btcq */

    default:
      return -1;
    }
}

static int
recog_23 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  switch (GET_CODE (x2))
    {
    case REG:
    case SUBREG:
    case MEM:
      operands[0] = x2;
      x3 = XEXP (x1, 1);
      x4 = XEXP (x3, 0);
      operands[1] = x4;
      x5 = XEXP (x3, 1);
      operands[2] = x5;
      switch (GET_MODE (operands[0]))
        {
        case TImode:
          if (pnum_clobbers == NULL
              || !register_operand (operands[0], TImode)
              || GET_MODE (x3) != TImode
              || !reg_or_pm1_operand (operands[1], TImode)
              || !nonmemory_operand (operands[2], QImode)
              || !
#line 1017 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
            return -1;
          *pnum_clobbers = 1;
          return 504; /* *ashlti3_doubleword */

        case HImode:
          if (pnum_clobbers == NULL
              || pattern3 (x3, HImode) != 0
              || !
#line 9805 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ASHIFT, HImode, operands)))
            return -1;
          *pnum_clobbers = 1;
          return 515; /* *ashlhi3_1 */

        case QImode:
          if (pnum_clobbers == NULL
              || pattern3 (x3, QImode) != 0
              || !
#line 9849 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ASHIFT, QImode, operands)))
            return -1;
          *pnum_clobbers = 1;
          return 516; /* *ashlqi3_1 */

        case V4HImode:
          if (pattern289 (x3, V4HImode, DImode) != 0
              || !
#line 948 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX))
            return -1;
          return 1155; /* mmx_ashlv4hi3 */

        case V2SImode:
          if (pattern289 (x3, V2SImode, DImode) != 0
              || !
#line 948 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX))
            return -1;
          return 1157; /* mmx_ashlv2si3 */

        case V1DImode:
          if (pattern289 (x3, V1DImode, DImode) != 0
              || !
#line 948 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX))
            return -1;
          return 1159; /* mmx_ashlv1di3 */

        default:
          return -1;
        }

    case STRICT_LOW_PART:
      if (pnum_clobbers == NULL
          || pattern4 (x1) != 0
          || !
#line 9911 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
      *pnum_clobbers = 1;
      return 517; /* *ashlqi3_1_slp */

    default:
      return -1;
    }
}

static int
recog_24 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  if (!bt_comparison_operator (x3, VOIDmode))
    return -1;
  operands[0] = x3;
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != ZERO_EXTRACT)
    return -1;
  x5 = XEXP (x4, 1);
  if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x6 = XEXP (x2, 1);
  if (GET_CODE (x6) != LABEL_REF)
    return -1;
  x7 = XEXP (x2, 2);
  if (GET_CODE (x7) != PC)
    return -1;
  x8 = XEXP (x1, 0);
  if (GET_CODE (x8) != PC)
    return -1;
  x9 = XEXP (x4, 0);
  operands[1] = x9;
  x10 = XEXP (x4, 2);
  switch (GET_CODE (x10))
    {
    case CONST_INT:
    case CONST_WIDE_INT:
    case CONST_FIXED:
    case CONST_DOUBLE:
    case CONST_VECTOR:
    case CONST:
    case REG:
    case SUBREG:
    case LABEL_REF:
    case SYMBOL_REF:
    case HIGH:
      operands[2] = x10;
      if (!nonmemory_operand (operands[2], SImode))
        return -1;
      x11 = XEXP (x3, 1);
      if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x12 = XEXP (x6, 0);
      operands[3] = x12;
      switch (GET_MODE (x4))
        {
        case SImode:
          if (!register_operand (operands[1], SImode)
              || !
#line 11050 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((TARGET_USE_BT || optimize_function_for_size_p (cfun))
   && (CONST_INT_P (operands[2])
       ? (INTVAL (operands[2]) < GET_MODE_BITSIZE (SImode)
	  && INTVAL (operands[2])
	       >= (optimize_function_for_size_p (cfun) ? 8 : 32))
       : register_operand (operands[2], SImode))
   && can_create_pseudo_p ()))
            return -1;
          *pnum_clobbers = 1;
          return 604; /* *jcc_btsi */

        case DImode:
          if (!register_operand (operands[1], DImode)
              || !(
#line 11050 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((TARGET_USE_BT || optimize_function_for_size_p (cfun))
   && (CONST_INT_P (operands[2])
       ? (INTVAL (operands[2]) < GET_MODE_BITSIZE (DImode)
	  && INTVAL (operands[2])
	       >= (optimize_function_for_size_p (cfun) ? 8 : 32))
       : register_operand (operands[2], SImode))
   && can_create_pseudo_p ()) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          *pnum_clobbers = 1;
          return 605; /* *jcc_btdi */

        default:
          return -1;
        }

    case ZERO_EXTEND:
      if (GET_MODE (x10) != SImode)
        return -1;
      x11 = XEXP (x3, 1);
      if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x13 = XEXP (x10, 0);
      operands[2] = x13;
      if (!register_operand (operands[2], QImode))
        return -1;
      x12 = XEXP (x6, 0);
      operands[3] = x12;
      switch (GET_MODE (x4))
        {
        case SImode:
          if (!register_operand (operands[1], SImode)
              || !
#line 11087 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((TARGET_USE_BT || optimize_function_for_size_p (cfun))
   && can_create_pseudo_p ()))
            return -1;
          *pnum_clobbers = 1;
          return 606; /* *jcc_btsi_1 */

        case DImode:
          if (!register_operand (operands[1], DImode)
              || !(
#line 11087 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((TARGET_USE_BT || optimize_function_for_size_p (cfun))
   && can_create_pseudo_p ()) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          *pnum_clobbers = 1;
          return 607; /* *jcc_btdi_1 */

        default:
          return -1;
        }

    case AND:
      if (GET_MODE (x10) != SImode)
        return -1;
      x13 = XEXP (x10, 0);
      operands[2] = x13;
      if (!register_operand (operands[2], SImode))
        return -1;
      x14 = XEXP (x10, 1);
      operands[3] = x14;
      if (!const_int_operand (operands[3], VOIDmode))
        return -1;
      x12 = XEXP (x6, 0);
      operands[4] = x12;
      switch (GET_MODE (x4))
        {
        case SImode:
          if (!register_operand (operands[1], SImode)
              || !
#line 11121 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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
   && can_create_pseudo_p ()))
            return -1;
          *pnum_clobbers = 1;
          return 608; /* *jcc_btsi_mask */

        case DImode:
          if (!register_operand (operands[1], DImode)
              || !(
#line 11121 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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
   && can_create_pseudo_p ()) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          *pnum_clobbers = 1;
          return 609; /* *jcc_btdi_mask */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_25 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  operands[1] = x3;
  x5 = XEXP (x2, 1);
  switch (GET_CODE (x5))
    {
    case LABEL_REF:
      x6 = XEXP (x2, 2);
      if (GET_CODE (x6) != PC)
        return -1;
      x7 = XEXP (x1, 0);
      if (GET_CODE (x7) != PC
          || !ix86_comparison_operator (operands[1], VOIDmode))
        return -1;
      x8 = XEXP (x5, 0);
      operands[0] = x8;
      return 617; /* *jcc_1 */

    case PC:
      x6 = XEXP (x2, 2);
      if (GET_CODE (x6) != LABEL_REF)
        return -1;
      x7 = XEXP (x1, 0);
      if (GET_CODE (x7) != PC
          || !ix86_comparison_operator (operands[1], VOIDmode))
        return -1;
      x9 = XEXP (x6, 0);
      operands[0] = x9;
      return 618; /* *jcc_2 */

    case REG:
    case SUBREG:
    case MEM:
      operands[2] = x5;
      x7 = XEXP (x1, 0);
      operands[0] = x7;
      x6 = XEXP (x2, 2);
      operands[3] = x6;
      switch (GET_MODE (operands[0]))
        {
        case HImode:
          if (pattern559 (x2, HImode) != 0
              || !
#line 17068 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_CMOVE && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
            return -1;
          return 963; /* *movhicc_noc */

        case QImode:
          if (pattern558 (x2) != 0
              || !
#line 17119 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_CMOVE && !TARGET_PARTIAL_REG_STALL))
            return -1;
          return 967; /* *movqicc_noc */

        case XFmode:
          if (!register_operand (operands[0], XFmode)
              || GET_MODE (x2) != XFmode
              || !fcmov_comparison_operator (operands[1], VOIDmode)
              || !register_operand (operands[2], XFmode)
              || !register_operand (operands[3], XFmode)
              || !
#line 17218 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && TARGET_CMOVE))
            return -1;
          return 968; /* *movxfcc_1 */

        case DFmode:
          if (!register_operand (operands[0], DFmode)
              || pattern643 (x2, DFmode) != 0
              || !
#line 17233 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && TARGET_CMOVE
   && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
            return -1;
          return 969; /* *movdfcc_1 */

        case SFmode:
          if (!register_operand (operands[0], SFmode)
              || pattern643 (x2, SFmode) != 0
              || !
#line 17268 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && TARGET_CMOVE
   && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
            return -1;
          return 970; /* *movsfcc_1_387 */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_26 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  switch (GET_CODE (x3))
    {
    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:
      if (pnum_clobbers != NULL)
        {
          res = recog_24 (x1, insn, pnum_clobbers);
          if (res >= 0)
            return res;
        }
      x4 = XEXP (x3, 0);
      switch (GET_CODE (x4))
        {
        case REG:
        case SUBREG:
          if (GET_CODE (x4) == REG
              && REGNO (x4) == 17)
            {
              res = recog_25 (x1, insn, pnum_clobbers);
              if (res >= 0)
                return res;
            }
          if (pnum_clobbers == NULL)
            return -1;
          operands[1] = x4;
          x5 = XEXP (x1, 0);
          if (GET_CODE (x5) != PC)
            return -1;
          operands[0] = x3;
          x6 = XEXP (x3, 1);
          operands[2] = x6;
          switch (GET_CODE (operands[2]))
            {
            case CONST_INT:
            case CONST_DOUBLE:
            case CONST_VECTOR:
              if (!ix86_fp_comparison_operator (operands[0], CCFPmode))
                return -1;
              x7 = XEXP (x2, 1);
              switch (GET_CODE (x7))
                {
                case LABEL_REF:
                  x8 = XEXP (x2, 2);
                  if (GET_CODE (x8) != PC)
                    return -1;
                  x9 = XEXP (x7, 0);
                  operands[3] = x9;
                  switch (pattern646 ())
                    {
                    case 0:
                      if (!
#line 11413 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE))
                        return -1;
                      *pnum_clobbers = 3;
                      return 619; /* *jccsf_0_i387 */

                    case 1:
                      if (!
#line 11413 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE))
                        return -1;
                      *pnum_clobbers = 3;
                      return 620; /* *jccdf_0_i387 */

                    case 2:
                      if (!
#line 11413 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE))
                        return -1;
                      *pnum_clobbers = 3;
                      return 621; /* *jccxf_0_i387 */

                    default:
                      return -1;
                    }

                case PC:
                  x8 = XEXP (x2, 2);
                  if (GET_CODE (x8) != LABEL_REF)
                    return -1;
                  x10 = XEXP (x8, 0);
                  operands[3] = x10;
                  switch (pattern646 ())
                    {
                    case 0:
                      if (!
#line 11426 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE))
                        return -1;
                      *pnum_clobbers = 3;
                      return 622; /* *jccsf_0_r_i387 */

                    case 1:
                      if (!
#line 11426 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE))
                        return -1;
                      *pnum_clobbers = 3;
                      return 623; /* *jccdf_0_r_i387 */

                    case 2:
                      if (!
#line 11426 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE))
                        return -1;
                      *pnum_clobbers = 3;
                      return 624; /* *jccxf_0_r_i387 */

                    default:
                      return -1;
                    }

                default:
                  return -1;
                }

            case REG:
            case SUBREG:
            case MEM:
              x7 = XEXP (x2, 1);
              switch (GET_CODE (x7))
                {
                case LABEL_REF:
                  x8 = XEXP (x2, 2);
                  if (GET_CODE (x8) != PC)
                    return -1;
                  x9 = XEXP (x7, 0);
                  operands[3] = x9;
                  switch (pattern589 ())
                    {
                    case 0:
                      if (!
#line 11439 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE))
                        return -1;
                      *pnum_clobbers = 3;
                      return 625; /* *jccxf_i387 */

                    case 1:
                      if (!
#line 11465 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE))
                        return -1;
                      *pnum_clobbers = 3;
                      return 627; /* *jccsf_i387 */

                    case 2:
                      if (!
#line 11465 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE))
                        return -1;
                      *pnum_clobbers = 3;
                      return 628; /* *jccdf_i387 */

                    case 3:
                      if (!
#line 11491 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE))
                        return -1;
                      *pnum_clobbers = 3;
                      return 631; /* *jccusf_i387 */

                    case 4:
                      if (!
#line 11491 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE))
                        return -1;
                      *pnum_clobbers = 3;
                      return 632; /* *jccudf_i387 */

                    case 5:
                      if (!
#line 11491 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE))
                        return -1;
                      *pnum_clobbers = 3;
                      return 633; /* *jccuxf_i387 */

                    default:
                      return -1;
                    }

                case PC:
                  x8 = XEXP (x2, 2);
                  if (GET_CODE (x8) != LABEL_REF)
                    return -1;
                  x10 = XEXP (x8, 0);
                  operands[3] = x10;
                  switch (pattern589 ())
                    {
                    case 0:
                      if (!
#line 11452 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE))
                        return -1;
                      *pnum_clobbers = 3;
                      return 626; /* *jccxf_r_i387 */

                    case 1:
                      if (!
#line 11478 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE))
                        return -1;
                      *pnum_clobbers = 3;
                      return 629; /* *jccsf_r_i387 */

                    case 2:
                      if (!
#line 11478 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE))
                        return -1;
                      *pnum_clobbers = 3;
                      return 630; /* *jccdf_r_i387 */

                    case 3:
                      if (!
#line 11504 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE))
                        return -1;
                      *pnum_clobbers = 3;
                      return 634; /* *jccusf_r_i387 */

                    case 4:
                      if (!
#line 11504 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE))
                        return -1;
                      *pnum_clobbers = 3;
                      return 635; /* *jccudf_r_i387 */

                    case 5:
                      if (!
#line 11504 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE))
                        return -1;
                      *pnum_clobbers = 3;
                      return 636; /* *jccuxf_r_i387 */

                    default:
                      return -1;
                    }

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case FLOAT:
          if (pnum_clobbers == NULL)
            return -1;
          operands[1] = x4;
          x5 = XEXP (x1, 0);
          if (GET_CODE (x5) != PC)
            return -1;
          operands[0] = x3;
          if (!ix86_swapped_fp_comparison_operator (operands[0], CCFPmode))
            return -1;
          x11 = XEXP (x4, 0);
          operands[2] = x11;
          x6 = XEXP (x3, 1);
          operands[3] = x6;
          x7 = XEXP (x2, 1);
          switch (GET_CODE (x7))
            {
            case LABEL_REF:
              x8 = XEXP (x2, 2);
              if (GET_CODE (x8) != PC)
                return -1;
              x9 = XEXP (x7, 0);
              operands[4] = x9;
              switch (GET_MODE (operands[1]))
                {
                case SFmode:
                  switch (pattern697 (SFmode))
                    {
                    case 0:
                      if (!
#line 11561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE
   && (TARGET_USE_HIMODE_FIOP
       || optimize_function_for_size_p (cfun))))
                        return -1;
                      *pnum_clobbers = 3;
                      return 637; /* *jccsf_hi_i387 */

                    case 1:
                      if (!
#line 11561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE
   && (TARGET_USE_SIMODE_FIOP
       || optimize_function_for_size_p (cfun))))
                        return -1;
                      *pnum_clobbers = 3;
                      return 640; /* *jccsf_si_i387 */

                    default:
                      return -1;
                    }

                case DFmode:
                  switch (pattern697 (DFmode))
                    {
                    case 0:
                      if (!
#line 11561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE
   && (TARGET_USE_HIMODE_FIOP
       || optimize_function_for_size_p (cfun))))
                        return -1;
                      *pnum_clobbers = 3;
                      return 638; /* *jccdf_hi_i387 */

                    case 1:
                      if (!
#line 11561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE
   && (TARGET_USE_SIMODE_FIOP
       || optimize_function_for_size_p (cfun))))
                        return -1;
                      *pnum_clobbers = 3;
                      return 641; /* *jccdf_si_i387 */

                    default:
                      return -1;
                    }

                case XFmode:
                  switch (pattern697 (XFmode))
                    {
                    case 0:
                      if (!
#line 11561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE
   && (TARGET_USE_HIMODE_FIOP
       || optimize_function_for_size_p (cfun))))
                        return -1;
                      *pnum_clobbers = 3;
                      return 639; /* *jccxf_hi_i387 */

                    case 1:
                      if (!
#line 11561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE
   && (TARGET_USE_SIMODE_FIOP
       || optimize_function_for_size_p (cfun))))
                        return -1;
                      *pnum_clobbers = 3;
                      return 642; /* *jccxf_si_i387 */

                    default:
                      return -1;
                    }

                default:
                  return -1;
                }

            case PC:
              x8 = XEXP (x2, 2);
              if (GET_CODE (x8) != LABEL_REF)
                return -1;
              x10 = XEXP (x8, 0);
              operands[4] = x10;
              switch (GET_MODE (operands[1]))
                {
                case SFmode:
                  switch (pattern697 (SFmode))
                    {
                    case 0:
                      if (!
#line 11578 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE
   && (TARGET_USE_HIMODE_FIOP
       || optimize_function_for_size_p (cfun))))
                        return -1;
                      *pnum_clobbers = 3;
                      return 643; /* *jccsf_hi_r_i387 */

                    case 1:
                      if (!
#line 11578 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE
   && (TARGET_USE_SIMODE_FIOP
       || optimize_function_for_size_p (cfun))))
                        return -1;
                      *pnum_clobbers = 3;
                      return 646; /* *jccsf_si_r_i387 */

                    default:
                      return -1;
                    }

                case DFmode:
                  switch (pattern697 (DFmode))
                    {
                    case 0:
                      if (!
#line 11578 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE
   && (TARGET_USE_HIMODE_FIOP
       || optimize_function_for_size_p (cfun))))
                        return -1;
                      *pnum_clobbers = 3;
                      return 644; /* *jccdf_hi_r_i387 */

                    case 1:
                      if (!
#line 11578 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE
   && (TARGET_USE_SIMODE_FIOP
       || optimize_function_for_size_p (cfun))))
                        return -1;
                      *pnum_clobbers = 3;
                      return 647; /* *jccdf_si_r_i387 */

                    default:
                      return -1;
                    }

                case XFmode:
                  switch (pattern697 (XFmode))
                    {
                    case 0:
                      if (!
#line 11578 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE
   && (TARGET_USE_HIMODE_FIOP
       || optimize_function_for_size_p (cfun))))
                        return -1;
                      *pnum_clobbers = 3;
                      return 645; /* *jccxf_hi_r_i387 */

                    case 1:
                      if (!
#line 11578 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE
   && (TARGET_USE_SIMODE_FIOP
       || optimize_function_for_size_p (cfun))))
                        return -1;
                      *pnum_clobbers = 3;
                      return 648; /* *jccxf_si_r_i387 */

                    default:
                      return -1;
                    }

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    case REG:
    case SUBREG:
      operands[1] = x3;
      x5 = XEXP (x1, 0);
      operands[0] = x5;
      x7 = XEXP (x2, 1);
      operands[2] = x7;
      x8 = XEXP (x2, 2);
      operands[3] = x8;
      switch (GET_MODE (operands[0]))
        {
        case SFmode:
          if (pattern349 (x2, SFmode) != 0
              || !
#line 17341 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_XOP))
            return -1;
          return 971; /* *xop_pcmov_sf */

        case DFmode:
          if (pattern349 (x2, DFmode) != 0
              || !
#line 17341 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_XOP))
            return -1;
          return 972; /* *xop_pcmov_df */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_27 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  x5 = XEXP (x3, 1);
  operands[2] = x5;
  switch (GET_MODE (operands[0]))
    {
    case SFmode:
      if (pattern350 (SFmode) != 0
          || !
#line 11297 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(SSE_FLOAT_MODE_P (SFmode)))
        return -1;
      return 615; /* setcc_sf_sse */

    case DFmode:
      if (pattern350 (DFmode) != 0
          || !
#line 11297 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(SSE_FLOAT_MODE_P (DFmode)))
        return -1;
      return 616; /* setcc_df_sse */

    case HImode:
      if (!register_operand (operands[0], HImode)
          || !sse_comparison_operator (operands[3], HImode)
          || !register_operand (operands[1], V16SFmode)
          || !nonimmediate_operand (operands[2], V16SFmode)
          || !
#line 2676 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
        return -1;
      return 1715; /* avx512f_maskcmpv16sf3 */

    case QImode:
      if (!register_operand (operands[0], QImode)
          || !sse_comparison_operator (operands[3], QImode))
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case V8SFmode:
          if (!register_operand (operands[1], V8SFmode)
              || !nonimmediate_operand (operands[2], V8SFmode)
              || !(
#line 2676 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return -1;
          return 1716; /* avx512f_maskcmpv8sf3 */

        case V4SFmode:
          if (!register_operand (operands[1], V4SFmode)
              || !nonimmediate_operand (operands[2], V4SFmode)
              || !
#line 2676 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 1717; /* avx512f_maskcmpv4sf3 */

        case V8DFmode:
          if (!register_operand (operands[1], V8DFmode)
              || !nonimmediate_operand (operands[2], V8DFmode)
              || !
#line 2676 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 1718; /* avx512f_maskcmpv8df3 */

        case V4DFmode:
          if (!register_operand (operands[1], V4DFmode)
              || !nonimmediate_operand (operands[2], V4DFmode)
              || !(
#line 2676 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return -1;
          return 1719; /* avx512f_maskcmpv4df3 */

        case V2DFmode:
          if (!register_operand (operands[1], V2DFmode)
              || !nonimmediate_operand (operands[2], V2DFmode)
              || !(
#line 2676 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
            return -1;
          return 1720; /* avx512f_maskcmpv2df3 */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_28 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  operands[1] = x2;
  if (ix86_comparison_operator (operands[1], QImode))
    {
      x3 = XEXP (x2, 0);
      if (GET_CODE (x3) == REG
          && REGNO (x3) == 17)
        {
          switch (pattern28 (x1))
            {
            case 0:
              return 613; /* *setcc_qi */

            case 1:
              return 614; /* *setcc_qi_slp */

            default:
              break;
            }
        }
    }
  switch (GET_CODE (x2))
    {
    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:
      operands[3] = x2;
      res = recog_27 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      x3 = XEXP (x2, 0);
      operands[1] = x3;
      x5 = XEXP (x2, 1);
      operands[2] = x5;
      switch (GET_CODE (x2))
        {
        case EQ:
          switch (GET_MODE (operands[0]))
            {
            case V2SImode:
              if (!register_operand (operands[0], V2SImode)
                  || GET_MODE (x2) != V2SImode)
                return -1;
              switch (GET_MODE (operands[1]))
                {
                case V2SFmode:
                  if (!nonimmediate_operand (operands[1], V2SFmode)
                      || !nonimmediate_operand (operands[2], V2SFmode)
                      || !
#line 471 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_3DNOW && ix86_binary_operator_ok (EQ, V2SFmode, operands)))
                    return -1;
                  return 1115; /* *mmx_eqv2sf3 */

                case V2SImode:
                  if (!nonimmediate_operand (operands[1], V2SImode)
                      || !nonimmediate_operand (operands[2], V2SImode)
                      || !
#line 976 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX && ix86_binary_operator_ok (EQ, V2SImode, operands)))
                    return -1;
                  return 1163; /* *mmx_eqv2si3 */

                default:
                  return -1;
                }

            case V8QImode:
              if (pattern7 (x2, V8QImode) != 0
                  || !
#line 976 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX && ix86_binary_operator_ok (EQ, V8QImode, operands)))
                return -1;
              return 1161; /* *mmx_eqv8qi3 */

            case V4HImode:
              if (pattern7 (x2, V4HImode) != 0
                  || !
#line 976 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX && ix86_binary_operator_ok (EQ, V4HImode, operands)))
                return -1;
              return 1162; /* *mmx_eqv4hi3 */

            default:
              return -1;
            }

        case GT:
          switch (GET_MODE (operands[0]))
            {
            case V2SImode:
              if (!register_operand (operands[0], V2SImode)
                  || GET_MODE (x2) != V2SImode)
                return -1;
              switch (GET_MODE (operands[1]))
                {
                case V2SFmode:
                  if (!register_operand (operands[1], V2SFmode)
                      || !nonimmediate_operand (operands[2], V2SFmode)
                      || !
#line 481 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_3DNOW))
                    return -1;
                  return 1116; /* mmx_gtv2sf3 */

                case V2SImode:
                  if (!register_operand (operands[1], V2SImode)
                      || !nonimmediate_operand (operands[2], V2SImode)
                      || !
#line 986 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX))
                    return -1;
                  return 1166; /* mmx_gtv2si3 */

                default:
                  return -1;
                }

            case V8QImode:
              if (pattern15 (x2, V8QImode) != 0
                  || !
#line 986 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX))
                return -1;
              return 1164; /* mmx_gtv8qi3 */

            case V4HImode:
              if (pattern15 (x2, V4HImode) != 0
                  || !
#line 986 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX))
                return -1;
              return 1165; /* mmx_gtv4hi3 */

            default:
              return -1;
            }

        case GE:
          if (GET_MODE (x2) != V2SImode
              || !register_operand (operands[0], V2SImode)
              || !register_operand (operands[1], V2SFmode)
              || !nonimmediate_operand (operands[2], V2SFmode)
              || !
#line 491 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_3DNOW))
            return -1;
          return 1117; /* mmx_gev2sf3 */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_29 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  if (pnum_clobbers == NULL)
    return -1;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != HImode)
    return -1;
  x3 = XEXP (x1, 0);
  if (GET_CODE (x3) != STRICT_LOW_PART)
    return -1;
  x4 = XEXP (x3, 0);
  operands[0] = x4;
  if (!register_operand (operands[0], HImode))
    return -1;
  x5 = XEXP (x2, 0);
  if (!rtx_equal_p (x5, operands[0]))
    return -1;
  if (
#line 13388 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_XCHGB || optimize_function_for_size_p (cfun)))
    {
      *pnum_clobbers = 1;
      return 774; /* *bswaphi_lowpart_1 */
    }
  *pnum_clobbers = 1;
  return 775; /* bswaphi_lowpart */
}

static int
recog_30 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19, x20, x21, x22, x23, x24, x25;
  rtx x26, x27, x28, x29, x30, x31, x32;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  switch (GET_CODE (x3))
    {
    case REG:
    case SUBREG:
    case MEM:
      x4 = XEXP (x1, 0);
      switch (GET_CODE (x4))
        {
        case REG:
        case SUBREG:
        case MEM:
          operands[0] = x4;
          operands[1] = x3;
          x5 = XEXP (x2, 1);
          operands[2] = x5;
          switch (GET_MODE (operands[0]))
            {
            case TImode:
              if (pattern398 (x2, pnum_clobbers) != 0
                  || !(
#line 5515 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, TImode, operands)) && 
#line 1042 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              *pnum_clobbers = 1;
              return 216; /* *addti3_doubleword */

            case HImode:
              if (pattern31 (x2, pnum_clobbers, HImode) != 0
                  || !
#line 5649 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, HImode, operands)))
                return -1;
              *pnum_clobbers = 1;
              return 220; /* *addhi_1 */

            case QImode:
              if (pattern31 (x2, pnum_clobbers, QImode) != 0
                  || !
#line 5698 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, QImode, operands)))
                return -1;
              *pnum_clobbers = 1;
              return 221; /* *addqi_1 */

            case V2SFmode:
              if (pattern7 (x2, V2SFmode) != 0
                  || !
#line 250 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_3DNOW && ix86_binary_operator_ok (PLUS, V2SFmode, operands)))
                return -1;
              return 1100; /* *mmx_addv2sf3 */

            case V8QImode:
              if (pattern7 (x2, V8QImode) != 0
                  || !
#line 683 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
((TARGET_MMX || (TARGET_SSE2 && V8QImode == V1DImode))
   && ix86_binary_operator_ok (PLUS, V8QImode, operands)))
                return -1;
              return 1127; /* *mmx_addv8qi3 */

            case V4HImode:
              if (pattern7 (x2, V4HImode) != 0
                  || !
#line 683 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
((TARGET_MMX || (TARGET_SSE2 && V4HImode == V1DImode))
   && ix86_binary_operator_ok (PLUS, V4HImode, operands)))
                return -1;
              return 1129; /* *mmx_addv4hi3 */

            case V2SImode:
              if (pattern7 (x2, V2SImode) != 0
                  || !
#line 683 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
((TARGET_MMX || (TARGET_SSE2 && V2SImode == V1DImode))
   && ix86_binary_operator_ok (PLUS, V2SImode, operands)))
                return -1;
              return 1131; /* *mmx_addv2si3 */

            case V1DImode:
              if (pattern7 (x2, V1DImode) != 0
                  || !
#line 683 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
((TARGET_MMX || (TARGET_SSE2 && V1DImode == V1DImode))
   && ix86_binary_operator_ok (PLUS, V1DImode, operands)))
                return -1;
              return 1133; /* *mmx_addv1di3 */

            default:
              return -1;
            }

        case STRICT_LOW_PART:
          if (pattern33 (x1, pnum_clobbers) != 0
              || !
#line 5761 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((! TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
            return -1;
          *pnum_clobbers = 1;
          return 222; /* *addqi_1_slp */

        default:
          return -1;
        }

    case PLUS:
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      x6 = XEXP (x3, 0);
      switch (GET_CODE (x6))
        {
        case REG:
        case SUBREG:
          switch (pattern201 (x2))
            {
            case 0:
              if (!
#line 6306 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
                return -1;
              return 251; /* *leaqi_general_1 */

            case 1:
              if (!
#line 6306 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
                return -1;
              return 252; /* *leahi_general_1 */

            default:
              return -1;
            }

        case MULT:
          switch (pattern204 (x2))
            {
            case 0:
              if (!
#line 6372 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
                return -1;
              return 257; /* *leaqi_general_3 */

            case 1:
              if (!
#line 6372 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
                return -1;
              return 258; /* *leahi_general_3 */

            default:
              return -1;
            }

        case ASHIFT:
          switch (pattern205 (x2))
            {
            case 0:
              if (!
#line 6398 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
                return -1;
              return 259; /* *leaqi_general_3b */

            case 1:
              if (!
#line 6398 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
                return -1;
              return 260; /* *leahi_general_3b */

            default:
              return -1;
            }

        case GE:
        case GT:
        case LE:
        case LT:
        case GTU:
        case LTU:
        case UNEQ:
        case UNGE:
        case UNGT:
        case UNLE:
        case UNLT:
        case LTGT:
          if (pnum_clobbers == NULL)
            return -1;
          operands[4] = x6;
          x7 = XEXP (x6, 1);
          if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x8 = XEXP (x6, 0);
          operands[3] = x8;
          if (!flags_reg_operand (operands[3], VOIDmode))
            return -1;
          x9 = XEXP (x3, 1);
          operands[1] = x9;
          x5 = XEXP (x2, 1);
          operands[2] = x5;
          switch (GET_MODE (operands[0]))
            {
            case QImode:
              if (pattern647 (x2, QImode) != 0
                  || !
#line 6681 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, QImode, operands)))
                return -1;
              *pnum_clobbers = 1;
              return 295; /* addqi3_carry */

            case HImode:
              if (pattern647 (x2, HImode) != 0
                  || !
#line 6681 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, HImode, operands)))
                return -1;
              *pnum_clobbers = 1;
              return 296; /* addhi3_carry */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case MULT:
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      x6 = XEXP (x3, 0);
      switch (GET_CODE (x6))
        {
        case REG:
        case SUBREG:
          switch (pattern145 (x2))
            {
            case 0:
              if (!
#line 6328 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
                return -1;
              return 253; /* *leaqi_general_2 */

            case 1:
              if (!
#line 6328 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
                return -1;
              return 254; /* *leahi_general_2 */

            default:
              return -1;
            }

        case SIGN_EXTEND:
          if (GET_MODE (x6) != V2SImode)
            return -1;
          x8 = XEXP (x6, 0);
          if (GET_CODE (x8) != VEC_SELECT
              || GET_MODE (x8) != V2HImode)
            return -1;
          x10 = XEXP (x8, 1);
          if (GET_CODE (x10) != PARALLEL
              || XVECLEN (x10, 0) != 2)
            return -1;
          x11 = XVECEXP (x10, 0, 0);
          if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x12 = XVECEXP (x10, 0, 1);
          if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
            return -1;
          x9 = XEXP (x3, 1);
          if (pattern590 (x9, V2HImode, V2SImode) != 0)
            return -1;
          x13 = XEXP (x9, 0);
          x14 = XEXP (x13, 1);
          if (XVECLEN (x14, 0) != 2)
            return -1;
          x15 = XVECEXP (x14, 0, 0);
          if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x16 = XVECEXP (x14, 0, 1);
          if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
            return -1;
          x5 = XEXP (x2, 1);
          if (GET_CODE (x5) != MULT
              || GET_MODE (x5) != V2SImode)
            return -1;
          x17 = XEXP (x5, 0);
          if (pattern750 (x17, V2HImode, VEC_SELECT, V2SImode, SIGN_EXTEND) != 0)
            return -1;
          x18 = XEXP (x17, 0);
          x19 = XEXP (x18, 1);
          if (GET_CODE (x19) != PARALLEL
              || XVECLEN (x19, 0) != 2)
            return -1;
          x20 = XVECEXP (x19, 0, 0);
          if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
            return -1;
          x21 = XVECEXP (x19, 0, 1);
          if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
            return -1;
          x22 = XEXP (x5, 1);
          if (pattern963 (x22, V2HImode, V2SImode) != 0)
            return -1;
          x23 = XEXP (x22, 0);
          x24 = XEXP (x23, 1);
          if (XVECLEN (x24, 0) != 2)
            return -1;
          x25 = XVECEXP (x24, 0, 0);
          if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
            return -1;
          x26 = XVECEXP (x24, 0, 1);
          if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 3]
              || !register_operand (operands[0], V2SImode)
              || GET_MODE (x2) != V2SImode
              || GET_MODE (x3) != V2SImode)
            return -1;
          x27 = XEXP (x8, 0);
          operands[1] = x27;
          if (!nonimmediate_operand (operands[1], V4HImode))
            return -1;
          x28 = XEXP (x13, 0);
          operands[2] = x28;
          if (!nonimmediate_operand (operands[2], V4HImode))
            return -1;
          x29 = XEXP (x18, 0);
          if (!rtx_equal_p (x29, operands[1]))
            return -1;
          x30 = XEXP (x23, 0);
          if (!rtx_equal_p (x30, operands[2])
              || !
#line 821 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX && ix86_binary_operator_ok (MULT, V4HImode, operands)))
            return -1;
          return 1146; /* *mmx_pmaddwd */

        default:
          return -1;
        }

    case ASHIFT:
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      switch (pattern146 (x2))
        {
        case 0:
          if (!
#line 6349 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
            return -1;
          return 255; /* *leaqi_general_2b */

        case 1:
          if (!
#line 6349 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
            return -1;
          return 256; /* *leahi_general_2b */

        default:
          return -1;
        }

    case VEC_SELECT:
      if (GET_MODE (x3) != DFmode)
        return -1;
      x9 = XEXP (x3, 1);
      if (GET_CODE (x9) != PARALLEL
          || XVECLEN (x9, 0) != 1)
        return -1;
      x5 = XEXP (x2, 1);
      if (GET_CODE (x5) != VEC_SELECT
          || GET_MODE (x5) != DFmode)
        return -1;
      x22 = XEXP (x5, 1);
      if (GET_CODE (x22) != PARALLEL
          || XVECLEN (x22, 0) != 1)
        return -1;
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      if (!register_operand (operands[0], DFmode)
          || GET_MODE (x2) != DFmode)
        return -1;
      x6 = XEXP (x3, 0);
      operands[1] = x6;
      if (!register_operand (operands[1], V2DFmode))
        return -1;
      x31 = XVECEXP (x9, 0, 0);
      operands[2] = x31;
      if (!const_0_to_1_operand (operands[2], SImode))
        return -1;
      x32 = XVECEXP (x22, 0, 0);
      operands[3] = x32;
      if (!const_0_to_1_operand (operands[3], SImode))
        return -1;
      x17 = XEXP (x5, 0);
      if (!rtx_equal_p (x17, operands[1])
          || !
#line 2213 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE3
   && INTVAL (operands[2]) != INTVAL (operands[3])))
        return -1;
      return 1603; /* *sse3_haddv2df3_low */

    default:
      return -1;
    }
}

static int
recog_31 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  switch (GET_CODE (x3))
    {
    case REG:
    case SUBREG:
    case MEM:
      x4 = XEXP (x1, 0);
      switch (GET_CODE (x4))
        {
        case REG:
        case SUBREG:
        case MEM:
          operands[0] = x4;
          operands[1] = x3;
          x5 = XEXP (x2, 1);
          operands[2] = x5;
          switch (GET_MODE (operands[0]))
            {
            case TImode:
              if (pattern398 (x2, pnum_clobbers) != 0
                  || !(
#line 6475 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (MINUS, DImode, operands)) && 
#line 1042 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              *pnum_clobbers = 1;
              return 270; /* *subti3_doubleword */

            case QImode:
              if (pattern31 (x2, pnum_clobbers, QImode) != 0
                  || !
#line 6504 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (MINUS, QImode, operands)))
                return -1;
              *pnum_clobbers = 1;
              return 271; /* *subqi_1 */

            case HImode:
              if (pattern31 (x2, pnum_clobbers, HImode) != 0
                  || !
#line 6504 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (MINUS, HImode, operands)))
                return -1;
              *pnum_clobbers = 1;
              return 272; /* *subhi_1 */

            case V2SFmode:
              if (pattern7 (x2, V2SFmode) != 0
                  || !
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_3DNOW && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
                return -1;
              return 1101; /* *mmx_subv2sf3 */

            case V8QImode:
              if (pattern7 (x2, V8QImode) != 0
                  || !
#line 683 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
((TARGET_MMX || (TARGET_SSE2 && V8QImode == V1DImode))
   && ix86_binary_operator_ok (MINUS, V8QImode, operands)))
                return -1;
              return 1128; /* *mmx_subv8qi3 */

            case V4HImode:
              if (pattern7 (x2, V4HImode) != 0
                  || !
#line 683 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
((TARGET_MMX || (TARGET_SSE2 && V4HImode == V1DImode))
   && ix86_binary_operator_ok (MINUS, V4HImode, operands)))
                return -1;
              return 1130; /* *mmx_subv4hi3 */

            case V2SImode:
              if (pattern7 (x2, V2SImode) != 0
                  || !
#line 683 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
((TARGET_MMX || (TARGET_SSE2 && V2SImode == V1DImode))
   && ix86_binary_operator_ok (MINUS, V2SImode, operands)))
                return -1;
              return 1132; /* *mmx_subv2si3 */

            case V1DImode:
              if (pattern7 (x2, V1DImode) != 0
                  || !
#line 683 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
((TARGET_MMX || (TARGET_SSE2 && V1DImode == V1DImode))
   && ix86_binary_operator_ok (MINUS, V1DImode, operands)))
                return -1;
              return 1134; /* *mmx_subv1di3 */

            default:
              return -1;
            }

        case STRICT_LOW_PART:
          if (pattern33 (x1, pnum_clobbers) != 0
              || !
#line 6525 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((! TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
            return -1;
          *pnum_clobbers = 1;
          return 276; /* *subqi_1_slp */

        default:
          return -1;
        }

    case MINUS:
      if (pnum_clobbers == NULL)
        return -1;
      x6 = XEXP (x3, 1);
      switch (GET_CODE (x6))
        {
        case GE:
        case GT:
        case LE:
        case LT:
        case GTU:
        case LTU:
        case UNEQ:
        case UNGE:
        case UNGT:
        case UNLE:
        case UNLT:
        case LTGT:
          operands[4] = x6;
          x7 = XEXP (x6, 1);
          if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x4 = XEXP (x1, 0);
          operands[0] = x4;
          x8 = XEXP (x3, 0);
          operands[1] = x8;
          x9 = XEXP (x6, 0);
          operands[3] = x9;
          if (!flags_reg_operand (operands[3], VOIDmode))
            return -1;
          x5 = XEXP (x2, 1);
          operands[2] = x5;
          switch (GET_MODE (operands[0]))
            {
            case QImode:
              if (pattern648 (x2, QImode) != 0
                  || !
#line 6737 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (MINUS, QImode, operands)))
                return -1;
              *pnum_clobbers = 1;
              return 302; /* subqi3_carry */

            case HImode:
              if (pattern648 (x2, HImode) != 0
                  || !
#line 6737 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (MINUS, HImode, operands)))
                return -1;
              *pnum_clobbers = 1;
              return 303; /* subhi3_carry */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case CONST_INT:
      if (pnum_clobbers == NULL
          || XWINT (x3, 0) != 15LL)
        return -1;
      x5 = XEXP (x2, 1);
      if (GET_CODE (x5) != CLZ
          || GET_MODE (x5) != HImode)
        return -1;
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      if (!register_operand (operands[0], HImode)
          || GET_MODE (x2) != HImode)
        return -1;
      x10 = XEXP (x5, 0);
      operands[1] = x10;
      if (!nonimmediate_operand (operands[1], HImode))
        return -1;
      *pnum_clobbers = 1;
      return 709; /* *bsrhi */

    case VEC_SELECT:
      if (pattern64 (x3) != 0)
        return -1;
      x5 = XEXP (x2, 1);
      if (pattern351 (x5) != 0)
        return -1;
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      if (!register_operand (operands[0], DFmode)
          || GET_MODE (x2) != DFmode)
        return -1;
      x8 = XEXP (x3, 0);
      operands[1] = x8;
      if (!register_operand (operands[1], V2DFmode))
        return -1;
      x10 = XEXP (x5, 0);
      if (!rtx_equal_p (x10, operands[1])
          || !
#line 2232 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE3))
        return -1;
      return 1604; /* *sse3_hsubv2df3_low */

    default:
      return -1;
    }
}

static int
recog_32 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
    case MEM:
      operands[1] = x4;
      x5 = XEXP (x3, 1);
      operands[2] = x5;
      switch (GET_MODE (operands[0]))
        {
        case HImode:
          if (pnum_clobbers == NULL
              || !register_operand (operands[0], HImode)
              || GET_MODE (x3) != HImode
              || !nonimmediate_operand (operands[1], HImode)
              || !general_operand (operands[2], HImode)
              || !(
#line 6936 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
#line 1012 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_HIMODE_MATH)))
            return -1;
          *pnum_clobbers = 1;
          return 327; /* *mulhi3_1 */

        case QImode:
          if (pnum_clobbers == NULL
              || pattern7 (x3, QImode) != 0
              || !
#line 7006 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_QIMODE_MATH
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
            return -1;
          *pnum_clobbers = 1;
          return 331; /* *mulqi3_1 */

        case V2SFmode:
          if (pattern7 (x3, V2SFmode) != 0
              || !
#line 291 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_3DNOW && ix86_binary_operator_ok (MULT, V2SFmode, operands)))
            return -1;
          return 1102; /* *mmx_mulv2sf3 */

        case V4HImode:
          if (pattern7 (x3, V4HImode) != 0
              || !
#line 718 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX && ix86_binary_operator_ok (MULT, V4HImode, operands)))
            return -1;
          return 1143; /* *mmx_mulv4hi3 */

        default:
          return -1;
        }

    case ZERO_EXTEND:
      x5 = XEXP (x3, 1);
      if (GET_CODE (x5) != ZERO_EXTEND)
        return -1;
      x6 = XEXP (x4, 0);
      switch (GET_CODE (x6))
        {
        case REG:
        case SUBREG:
        case MEM:
          if (pnum_clobbers == NULL)
            return -1;
          switch (pattern294 (x3))
            {
            case 0:
              if (!(
#line 7282 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
#line 1042 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              *pnum_clobbers = 1;
              return 346; /* *umulditi3_1 */

            case 1:
              if (!
#line 7353 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_QIMODE_MATH
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
                return -1;
              *pnum_clobbers = 1;
              return 350; /* *umulqihi3_1 */

            default:
              return -1;
            }

        case VEC_SELECT:
          if (pattern226 (x6, V1SImode) != 0)
            return -1;
          x7 = XEXP (x5, 0);
          if (pattern514 (x7, V1SImode) != 0
              || pattern533 (x3, V2SImode, V1DImode) != 0
              || GET_MODE (x5) != V1DImode)
            return -1;
          x8 = XEXP (x7, 0);
          operands[2] = x8;
          if (!nonimmediate_operand (operands[2], V2SImode)
              || !
#line 886 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_SSE2 && ix86_binary_operator_ok (MULT, V2SImode, operands)))
            return -1;
          return 1148; /* *sse2_umulv1siv1di3 */

        default:
          return -1;
        }

    case SIGN_EXTEND:
      if (pnum_clobbers == NULL)
        return -1;
      x5 = XEXP (x3, 1);
      if (GET_CODE (x5) != SIGN_EXTEND)
        return -1;
      switch (pattern294 (x3))
        {
        case 0:
          if (!(
#line 7333 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
#line 1042 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          *pnum_clobbers = 1;
          return 348; /* *mulditi3_1 */

        case 1:
          if (!
#line 7353 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_QIMODE_MATH
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
            return -1;
          *pnum_clobbers = 1;
          return 349; /* *mulqihi3_1 */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_33 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (GET_CODE (x2))
    {
    case PLUS:
      res = recog_30 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case MINUS:
      res = recog_31 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case MULT:
      res = recog_32 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    default:
      break;
    }
  operands[3] = x2;
  x3 = XEXP (x1, 0);
  operands[0] = x3;
  x4 = XEXP (x2, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
    case MEM:
      operands[1] = x4;
      x5 = XEXP (x2, 1);
      switch (GET_CODE (x5))
        {
        case REG:
        case SUBREG:
        case MEM:
          operands[2] = x5;
          switch (GET_MODE (operands[0]))
            {
            case SFmode:
              if (!register_operand (operands[0], SFmode)
                  || !binary_fp_operator (operands[3], SFmode)
                  || !nonimmediate_operand (operands[2], SFmode))
                return -1;
              if (nonimmediate_operand (operands[1], SFmode)
                  && 
#line 13983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(((SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
    || (TARGET_80387 && X87_ENABLE_ARITH (SFmode)))
   && COMMUTATIVE_ARITH_P (operands[3])
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
                return 800; /* *fop_sf_comm */
              if (!x87nonimm_ssenomem_operand (operands[1], SFmode)
                  || !
#line 14031 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(((SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
    || (TARGET_80387 && X87_ENABLE_ARITH (SFmode)))
   && !COMMUTATIVE_ARITH_P (operands[3])
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
                return -1;
              return 803; /* *fop_sf_1 */

            case DFmode:
              if (!register_operand (operands[0], DFmode)
                  || !binary_fp_operator (operands[3], DFmode)
                  || !nonimmediate_operand (operands[2], DFmode))
                return -1;
              if (nonimmediate_operand (operands[1], DFmode)
                  && 
#line 13983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(((SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
    || (TARGET_80387 && X87_ENABLE_ARITH (DFmode)))
   && COMMUTATIVE_ARITH_P (operands[3])
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
                return 801; /* *fop_df_comm */
              if (!x87nonimm_ssenomem_operand (operands[1], DFmode)
                  || !
#line 14031 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(((SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
    || (TARGET_80387 && X87_ENABLE_ARITH (DFmode)))
   && !COMMUTATIVE_ARITH_P (operands[3])
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
                return -1;
              return 804; /* *fop_df_1 */

            case XFmode:
              if (!register_operand (operands[0], XFmode)
                  || !binary_fp_operator (operands[3], XFmode)
                  || !register_operand (operands[1], XFmode)
                  || !register_operand (operands[2], XFmode))
                return -1;
              if (
#line 14163 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387
   && COMMUTATIVE_ARITH_P (operands[3])))
                return 816; /* *fop_xf_comm_i387 */
              if (!
#line 14177 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387
   && !COMMUTATIVE_ARITH_P (operands[3])))
                return -1;
              return 817; /* *fop_xf_1_i387 */

            default:
              return -1;
            }

        case FLOAT:
          x6 = XEXP (x5, 0);
          operands[2] = x6;
          switch (GET_MODE (operands[0]))
            {
            case SFmode:
              switch (pattern399 (x5, SFmode))
                {
                case 0:
                  if (!
#line 14088 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
                  return 809; /* *fop_sf_3_i387 */

                case 1:
                  if (!
#line 14088 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
                  return 811; /* *fop_sf_3_i387 */

                default:
                  return -1;
                }

            case DFmode:
              switch (pattern399 (x5, DFmode))
                {
                case 0:
                  if (!
#line 14088 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
                  return 810; /* *fop_df_3_i387 */

                case 1:
                  if (!
#line 14088 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
                  return 812; /* *fop_df_3_i387 */

                default:
                  return -1;
                }

            case XFmode:
              switch (pattern399 (x5, XFmode))
                {
                case 0:
                  if (!
#line 14211 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387
   && (TARGET_USE_HIMODE_FIOP || optimize_function_for_size_p (cfun))))
                    return -1;
                  return 820; /* *fop_xf_3_i387 */

                case 1:
                  if (!
#line 14211 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387
   && (TARGET_USE_SIMODE_FIOP || optimize_function_for_size_p (cfun))))
                    return -1;
                  return 821; /* *fop_xf_3_i387 */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case FLOAT_EXTEND:
          x6 = XEXP (x5, 0);
          operands[2] = x6;
          switch (pattern352 ())
            {
            case 0:
              if (!register_operand (operands[1], DFmode)
                  || GET_MODE (x5) != DFmode
                  || !nonimmediate_operand (operands[2], SFmode)
                  || !
#line 14127 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && X87_ENABLE_ARITH (DFmode)
   && !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)))
                return -1;
              return 814; /* *fop_df_5_i387 */

            case 1:
              if (!register_operand (operands[1], XFmode)
                  || GET_MODE (x5) != XFmode)
                return -1;
              switch (GET_MODE (operands[2]))
                {
                case SFmode:
                  if (!nonimmediate_operand (operands[2], SFmode)
                      || !
#line 14247 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387))
                    return -1;
                  return 824; /* *fop_xf_5_i387 */

                case DFmode:
                  if (!nonimmediate_operand (operands[2], DFmode)
                      || !
#line 14247 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387))
                    return -1;
                  return 825; /* *fop_xf_5_i387 */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    case FLOAT:
      x7 = XEXP (x4, 0);
      operands[1] = x7;
      x5 = XEXP (x2, 1);
      operands[2] = x5;
      switch (GET_MODE (operands[0]))
        {
        case SFmode:
          switch (pattern353 (x4, SFmode))
            {
            case 0:
              if (!
#line 14067 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
              return 805; /* *fop_sf_2_i387 */

            case 1:
              if (!
#line 14067 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
              return 807; /* *fop_sf_2_i387 */

            default:
              return -1;
            }

        case DFmode:
          switch (pattern353 (x4, DFmode))
            {
            case 0:
              if (!
#line 14067 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
              return 806; /* *fop_df_2_i387 */

            case 1:
              if (!
#line 14067 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
              return 808; /* *fop_df_2_i387 */

            default:
              return -1;
            }

        case XFmode:
          switch (pattern353 (x4, XFmode))
            {
            case 0:
              if (!
#line 14192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387
   && (TARGET_USE_HIMODE_FIOP || optimize_function_for_size_p (cfun))))
                return -1;
              return 818; /* *fop_xf_2_i387 */

            case 1:
              if (!
#line 14192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387
   && (TARGET_USE_SIMODE_FIOP || optimize_function_for_size_p (cfun))))
                return -1;
              return 819; /* *fop_xf_2_i387 */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case FLOAT_EXTEND:
      x7 = XEXP (x4, 0);
      operands[1] = x7;
      x5 = XEXP (x2, 1);
      switch (GET_CODE (x5))
        {
        case REG:
        case SUBREG:
          operands[2] = x5;
          switch (pattern352 ())
            {
            case 0:
              if (GET_MODE (x4) != DFmode
                  || !nonimmediate_operand (operands[1], SFmode)
                  || !register_operand (operands[2], DFmode)
                  || !
#line 14109 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && X87_ENABLE_ARITH (DFmode)
   && !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)))
                return -1;
              return 813; /* *fop_df_4_i387 */

            case 1:
              if (GET_MODE (x4) != XFmode
                  || !register_operand (operands[2], XFmode))
                return -1;
              switch (GET_MODE (operands[1]))
                {
                case SFmode:
                  if (!nonimmediate_operand (operands[1], SFmode)
                      || !
#line 14230 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387))
                    return -1;
                  return 822; /* *fop_xf_4_i387 */

                case DFmode:
                  if (!nonimmediate_operand (operands[1], DFmode)
                      || !
#line 14230 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387))
                    return -1;
                  return 823; /* *fop_xf_4_i387 */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case FLOAT_EXTEND:
          x6 = XEXP (x5, 0);
          operands[2] = x6;
          switch (GET_MODE (operands[0]))
            {
            case DFmode:
              if (!register_operand (operands[0], DFmode)
                  || !binary_fp_operator (operands[3], DFmode)
                  || pattern354 (x2, SFmode, DFmode) != 0
                  || !
#line 14146 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && X87_ENABLE_ARITH (DFmode)
   && !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)))
                return -1;
              return 815; /* *fop_df_6_i387 */

            case XFmode:
              if (!register_operand (operands[0], XFmode)
                  || !binary_fp_operator (operands[3], XFmode)
                  || GET_MODE (x4) != XFmode
                  || GET_MODE (x5) != XFmode)
                return -1;
              switch (GET_MODE (operands[1]))
                {
                case SFmode:
                  if (!register_operand (operands[1], SFmode)
                      || !nonimmediate_operand (operands[2], SFmode)
                      || !
#line 14265 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387))
                    return -1;
                  return 826; /* *fop_xf_6_i387 */

                case DFmode:
                  if (!register_operand (operands[1], DFmode)
                      || !nonimmediate_operand (operands[2], DFmode)
                      || !
#line 14265 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387))
                    return -1;
                  return 827; /* *fop_xf_6_i387 */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_34 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
    case MEM:
      operands[1] = x4;
      switch (GET_MODE (operands[0]))
        {
        case XFmode:
          if (!register_operand (operands[0], XFmode)
              || GET_MODE (x3) != XFmode
              || !register_operand (operands[1], XFmode)
              || !
#line 14293 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387))
            return -1;
          return 830; /* sqrtxf2 */

        case SFmode:
          if (!register_operand (operands[0], SFmode)
              || GET_MODE (x3) != SFmode
              || !nonimmediate_operand (operands[1], SFmode)
              || !
#line 14340 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH))
            return -1;
          return 834; /* *sqrtsf2_sse */

        case DFmode:
          if (!register_operand (operands[0], DFmode)
              || GET_MODE (x3) != DFmode
              || !nonimmediate_operand (operands[1], DFmode)
              || !
#line 14340 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH))
            return -1;
          return 835; /* *sqrtdf2_sse */

        default:
          return -1;
        }

    case FLOAT_EXTEND:
      if (GET_MODE (x4) != XFmode
          || !register_operand (operands[0], XFmode)
          || GET_MODE (x3) != XFmode)
        return -1;
      x5 = XEXP (x4, 0);
      operands[1] = x5;
      switch (GET_MODE (operands[1]))
        {
        case SFmode:
          if (!register_operand (operands[1], SFmode)
              || !
#line 14306 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387))
            return -1;
          return 831; /* sqrt_extendsfxf2_i387 */

        case DFmode:
          if (!register_operand (operands[1], DFmode)
              || !
#line 14306 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387))
            return -1;
          return 832; /* sqrt_extenddfxf2_i387 */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_35 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (XVECLEN (x2, 0))
    {
    case 1:
      switch (XINT (x2, 1))
        {
        case 19:
          if (GET_MODE (x2) != BLKmode)
            return -1;
          x3 = XVECEXP (x2, 0, 0);
          if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x4 = XEXP (x1, 0);
          operands[0] = x4;
          if (!memory_operand (operands[0], BLKmode)
              || !
#line 18858 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_FXSR))
            return -1;
          return 1015; /* fxsave */

        case 21:
          if (GET_MODE (x2) != BLKmode)
            return -1;
          x3 = XVECEXP (x2, 0, 0);
          if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x4 = XEXP (x1, 0);
          operands[0] = x4;
          if (!memory_operand (operands[0], BLKmode)
              || !
#line 18868 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_FXSR))
            return -1;
          return 1016; /* fxsave64 */

        case 23:
          if (GET_MODE (x2) != BLKmode)
            return -1;
          x4 = XEXP (x1, 0);
          operands[0] = x4;
          if (!memory_operand (operands[0], BLKmode))
            return -1;
          x3 = XVECEXP (x2, 0, 0);
          operands[1] = x3;
          if (!register_operand (operands[1], DImode)
              || !
#line 18936 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_XSAVE))
            return -1;
          return 1019; /* xsave */

        case 27:
          if (GET_MODE (x2) != BLKmode)
            return -1;
          x4 = XEXP (x1, 0);
          operands[0] = x4;
          if (!memory_operand (operands[0], BLKmode))
            return -1;
          x3 = XVECEXP (x2, 0, 0);
          operands[1] = x3;
          if (!register_operand (operands[1], DImode)
              || !(
#line 18936 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_XSAVE) && 
#line 18897 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_XSAVEOPT)))
            return -1;
          return 1020; /* xsaveopt */

        case 33:
          if (GET_MODE (x2) != BLKmode)
            return -1;
          x4 = XEXP (x1, 0);
          operands[0] = x4;
          if (!memory_operand (operands[0], BLKmode))
            return -1;
          x3 = XVECEXP (x2, 0, 0);
          operands[1] = x3;
          if (!register_operand (operands[1], DImode)
              || !(
#line 18936 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_XSAVE) && 
#line 18898 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_XSAVEC)))
            return -1;
          return 1021; /* xsavec */

        case 29:
          if (GET_MODE (x2) != BLKmode)
            return -1;
          x4 = XEXP (x1, 0);
          operands[0] = x4;
          if (!memory_operand (operands[0], BLKmode))
            return -1;
          x3 = XVECEXP (x2, 0, 0);
          operands[1] = x3;
          if (!register_operand (operands[1], DImode)
              || !(
#line 18936 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_XSAVE) && 
#line 18899 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_XSAVES)))
            return -1;
          return 1022; /* xsaves */

        case 35:
          if (pnum_clobbers == NULL
              || GET_MODE (x2) != BLKmode)
            return -1;
          x3 = XVECEXP (x2, 0, 0);
          if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x4 = XEXP (x1, 0);
          operands[0] = x4;
          if (!memory_operand (operands[0], BLKmode)
              || !
#line 19027 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387))
            return -1;
          *pnum_clobbers = 9;
          return 1037; /* fnstenv */

        case 37:
          if (GET_MODE (x2) != HImode)
            return -1;
          x3 = XVECEXP (x2, 0, 0);
          if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x4 = XEXP (x1, 0);
          operands[0] = x4;
          if (!nonimmediate_operand (operands[0], HImode)
              || !
#line 19057 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387))
            return -1;
          return 1039; /* fnstsw */

        case 44:
          if (GET_MODE (x2) != CCZmode)
            return -1;
          x3 = XVECEXP (x2, 0, 0);
          if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x4 = XEXP (x1, 0);
          if (GET_CODE (x4) != REG
              || REGNO (x4) != 17
              || GET_MODE (x4) != CCZmode
              || !
#line 19294 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_RTM))
            return -1;
          return 1067; /* xtest_1 */

        default:
          return -1;
        }

    case 2:
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      x5 = XVECEXP (x2, 0, 1);
      operands[2] = x5;
      switch (XINT (x2, 1))
        {
        case 23:
          if (pattern210 (x2) != 0
              || !
#line 18949 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_XSAVE))
            return -1;
          return 1023; /* xsave_rex64 */

        case 27:
          if (pattern210 (x2) != 0
              || !(
#line 18949 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_XSAVE) && 
#line 18897 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_XSAVEOPT)))
            return -1;
          return 1024; /* xsaveopt_rex64 */

        case 33:
          if (pattern210 (x2) != 0
              || !(
#line 18949 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_XSAVE) && 
#line 18898 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_XSAVEC)))
            return -1;
          return 1025; /* xsavec_rex64 */

        case 29:
          if (pattern210 (x2) != 0
              || !(
#line 18949 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_XSAVE) && 
#line 18899 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_XSAVES)))
            return -1;
          return 1026; /* xsaves_rex64 */

        case 25:
          if (pattern210 (x2) != 0
              || !
#line 18962 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_XSAVE))
            return -1;
          return 1027; /* xsave64 */

        case 28:
          if (pattern210 (x2) != 0
              || !(
#line 18962 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_XSAVE) && 
#line 18903 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_XSAVEOPT)))
            return -1;
          return 1028; /* xsaveopt64 */

        case 34:
          if (pattern210 (x2) != 0
              || !(
#line 18962 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_XSAVE) && 
#line 18904 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_XSAVEC)))
            return -1;
          return 1029; /* xsavec64 */

        case 31:
          if (pattern210 (x2) != 0
              || !(
#line 18962 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_XSAVE) && 
#line 18905 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_XSAVES)))
            return -1;
          return 1030; /* xsaves64 */

        case 64:
          if (pnum_clobbers == NULL
              || !const_int_operand (operands[2], SImode))
            return -1;
          x3 = XVECEXP (x2, 0, 0);
          switch (GET_CODE (x3))
            {
            case PLUS:
              switch (pattern401 (x2))
                {
                case 0:
                  *pnum_clobbers = 1;
                  return 4986; /* atomic_addqi */

                case 1:
                  *pnum_clobbers = 1;
                  return 4987; /* atomic_addhi */

                default:
                  return -1;
                }

            case MINUS:
              switch (pattern401 (x2))
                {
                case 0:
                  *pnum_clobbers = 1;
                  return 4990; /* atomic_subqi */

                case 1:
                  *pnum_clobbers = 1;
                  return 4991; /* atomic_subhi */

                default:
                  return -1;
                }

            case AND:
              switch (pattern401 (x2))
                {
                case 0:
                  *pnum_clobbers = 1;
                  return 4994; /* atomic_andqi */

                case 1:
                  *pnum_clobbers = 1;
                  return 4997; /* atomic_andhi */

                default:
                  return -1;
                }

            case IOR:
              switch (pattern401 (x2))
                {
                case 0:
                  *pnum_clobbers = 1;
                  return 4995; /* atomic_orqi */

                case 1:
                  *pnum_clobbers = 1;
                  return 4998; /* atomic_orhi */

                default:
                  return -1;
                }

            case XOR:
              switch (pattern401 (x2))
                {
                case 0:
                  *pnum_clobbers = 1;
                  return 4996; /* atomic_xorqi */

                case 1:
                  *pnum_clobbers = 1;
                  return 4999; /* atomic_xorhi */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 3:
      if (XINT (x2, 1) != 14
          || pattern59 (x1, CCCmode) != 0
          || !nonimmediate_operand (operands[1], SImode))
        return -1;
      x6 = XVECEXP (x2, 0, 2);
      operands[2] = x6;
      if (!const_int_operand (operands[2], SImode))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case SImode:
          if (!register_operand (operands[0], SImode)
              || !
#line 19153 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_LWP))
            return -1;
          return 1047; /* *lwp_lwpinssi3_1 */

        case DImode:
          if (!register_operand (operands[0], DImode)
              || !(
#line 19153 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_LWP) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          return 1048; /* *lwp_lwpinsdi3_1 */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_36 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case PLUS:
      switch (pattern66 (x3, PLUS))
        {
        case 0:
          if (!
#line 415 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_3DNOW))
            return -1;
          return 1112; /* mmx_haddv2sf3 */

        case 1:
          if (!
#line 14446 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3))
            return -1;
          return 3724; /* ssse3_phadddv2si3 */

        default:
          return -1;
        }

    case MINUS:
      switch (pattern66 (x3, MINUS))
        {
        case 0:
          if (!
#line 434 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_3DNOW_A))
            return -1;
          return 1113; /* mmx_hsubv2sf3 */

        case 1:
          if (!
#line 14446 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3))
            return -1;
          return 3725; /* ssse3_phsubdv2si3 */

        default:
          return -1;
        }

    case REG:
    case SUBREG:
    case MEM:
      operands[1] = x4;
      x5 = XEXP (x3, 1);
      operands[2] = x5;
      switch (GET_MODE (operands[0]))
        {
        case V2SFmode:
          if (!register_operand (operands[0], V2SFmode)
              || GET_MODE (x3) != V2SFmode
              || !nonimmediate_operand (operands[1], SFmode))
            return -1;
          if (vector_move_operand (operands[2], SFmode))
            {
              if (
#line 575 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX && !TARGET_SSE))
                return 1124; /* *mmx_concatv2sf */
              if (
#line 6807 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
                return 2447; /* *vec_concatv2sf_sse4_1 */
            }
          if (!reg_or_0_operand (operands[2], SFmode)
              || !
#line 6863 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE))
            return -1;
          return 2448; /* *vec_concatv2sf_sse */

        case V2SImode:
          if (!register_operand (operands[0], V2SImode)
              || GET_MODE (x3) != V2SImode
              || !nonimmediate_operand (operands[1], SImode))
            return -1;
          if (vector_move_operand (operands[2], SImode))
            {
              if (
#line 1269 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX && !TARGET_SSE))
                return 1194; /* *mmx_concatv2si */
              if (
#line 13776 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
                return 3669; /* *vec_concatv2si_sse4_1 */
            }
          if (!reg_or_0_operand (operands[2], SImode)
              || !
#line 13817 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && !TARGET_SSE4_1))
            return -1;
          return 3670; /* *vec_concatv2si */

        default:
          return -1;
        }

    case SS_TRUNCATE:
      x5 = XEXP (x3, 1);
      if (GET_CODE (x5) != SS_TRUNCATE)
        return -1;
      x6 = XEXP (x4, 0);
      operands[1] = x6;
      x7 = XEXP (x5, 0);
      operands[2] = x7;
      switch (GET_MODE (operands[0]))
        {
        case V8QImode:
          if (pattern355 (x3, V4HImode, V4QImode, V8QImode) != 0
              || !
#line 1038 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX))
            return -1;
          return 1179; /* mmx_packsswb */

        case V4HImode:
          if (pattern355 (x3, V2SImode, V2HImode, V4HImode) != 0
              || !
#line 1050 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX))
            return -1;
          return 1180; /* mmx_packssdw */

        default:
          return -1;
        }

    case US_TRUNCATE:
      if (GET_MODE (x4) != V4QImode)
        return -1;
      x5 = XEXP (x3, 1);
      if (GET_CODE (x5) != US_TRUNCATE
          || GET_MODE (x5) != V4QImode
          || !register_operand (operands[0], V8QImode)
          || GET_MODE (x3) != V8QImode)
        return -1;
      x6 = XEXP (x4, 0);
      operands[1] = x6;
      if (!register_operand (operands[1], V4HImode))
        return -1;
      x7 = XEXP (x5, 0);
      operands[2] = x7;
      if (!nonimmediate_operand (operands[2], V4HImode)
          || !
#line 1062 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX))
        return -1;
      return 1181; /* mmx_packuswb */

    case VEC_CONCAT:
      if (GET_MODE (x4) != V2HImode)
        return -1;
      x5 = XEXP (x3, 1);
      if (GET_CODE (x5) != VEC_CONCAT
          || GET_MODE (x5) != V2HImode
          || !register_operand (operands[0], V4HImode)
          || GET_MODE (x3) != V4HImode)
        return -1;
      x6 = XEXP (x4, 0);
      if (GET_MODE (x6) != HImode)
        return -1;
      x8 = XEXP (x4, 1);
      if (GET_MODE (x8) != HImode)
        return -1;
      x7 = XEXP (x5, 0);
      if (GET_MODE (x7) != HImode)
        return -1;
      x9 = XEXP (x5, 1);
      if (GET_MODE (x9) != HImode)
        return -1;
      switch (GET_CODE (x6))
        {
        case PLUS:
          if (pattern649 (x3, PLUS) != 0
              || !
#line 14348 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3))
            return -1;
          return 3716; /* ssse3_phaddwv4hi3 */

        case SS_PLUS:
          if (pattern649 (x3, SS_PLUS) != 0
              || !
#line 14348 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3))
            return -1;
          return 3717; /* ssse3_phaddswv4hi3 */

        case MINUS:
          if (pattern649 (x3, MINUS) != 0
              || !
#line 14348 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3))
            return -1;
          return 3718; /* ssse3_phsubwv4hi3 */

        case SS_MINUS:
          if (pattern649 (x3, SS_MINUS) != 0
              || !
#line 14348 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3))
            return -1;
          return 3719; /* ssse3_phsubswv4hi3 */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_37 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case PLUS:
      if (GET_MODE (x4) != V2SFmode)
        return -1;
      x5 = XEXP (x3, 1);
      if (GET_CODE (x5) != MINUS
          || GET_MODE (x5) != V2SFmode)
        return -1;
      x6 = XEXP (x3, 2);
      if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
          || !register_operand (operands[0], V2SFmode)
          || GET_MODE (x3) != V2SFmode)
        return -1;
      x7 = XEXP (x4, 0);
      operands[1] = x7;
      if (!register_operand (operands[1], V2SFmode))
        return -1;
      x8 = XEXP (x4, 1);
      operands[2] = x8;
      if (!nonimmediate_operand (operands[2], V2SFmode))
        return -1;
      x9 = XEXP (x5, 0);
      if (!rtx_equal_p (x9, operands[1]))
        return -1;
      x10 = XEXP (x5, 1);
      if (!rtx_equal_p (x10, operands[2])
          || !
#line 448 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_3DNOW_A))
        return -1;
      return 1114; /* mmx_addsubv2sf3 */

    case VEC_DUPLICATE:
      if (GET_MODE (x4) != V4HImode
          || !register_operand (operands[0], V4HImode)
          || GET_MODE (x3) != V4HImode)
        return -1;
      x7 = XEXP (x4, 0);
      operands[2] = x7;
      if (!nonimmediate_operand (operands[2], HImode))
        return -1;
      x5 = XEXP (x3, 1);
      operands[1] = x5;
      if (!register_operand (operands[1], V4HImode))
        return -1;
      x6 = XEXP (x3, 2);
      operands[3] = x6;
      if (!const_int_operand (operands[3], SImode)
          || !
#line 1169 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
((TARGET_SSE || TARGET_3DNOW_A)
   && ((unsigned) exact_log2 (INTVAL (operands[3]))
       < GET_MODE_NUNITS (V4HImode))))
        return -1;
      return 1188; /* *mmx_pinsrw */

    default:
      return -1;
    }
}

static int
recog_38 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) != PARALLEL)
    return -1;
  x4 = XEXP (x1, 0);
  operands[0] = x4;
  x5 = XEXP (x2, 0);
  switch (GET_CODE (x5))
    {
    case REG:
    case SUBREG:
    case MEM:
      operands[1] = x5;
      switch (XVECLEN (x3, 0))
        {
        case 2:
          x6 = XVECEXP (x3, 0, 0);
          if (GET_CODE (x6) != CONST_INT)
            return -1;
          x7 = XVECEXP (x3, 0, 1);
          if (GET_CODE (x7) != CONST_INT)
            return -1;
          switch (XWINT (x6, 0))
            {
            case 1LL:
              if (XWINT (x7, 0) != 0LL)
                return -1;
              switch (GET_MODE (operands[0]))
                {
                case V2SFmode:
                  if (!register_operand (operands[0], V2SFmode)
                      || GET_MODE (x2) != V2SFmode
                      || !nonimmediate_operand (operands[1], V2SFmode)
                      || !
#line 555 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_3DNOW_A))
                    return -1;
                  return 1122; /* mmx_pswapdv2sf2 */

                case V2SImode:
                  if (!register_operand (operands[0], V2SImode)
                      || GET_MODE (x2) != V2SImode
                      || !nonimmediate_operand (operands[1], V2SImode)
                      || !
#line 1238 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_3DNOW_A))
                    return -1;
                  return 1191; /* mmx_pswapdv2si2 */

                default:
                  return -1;
                }

            case 2LL:
              if (XWINT (x7, 0) != 3LL
                  || !nonimmediate_operand (operands[0], V2SFmode)
                  || GET_MODE (x2) != V2SFmode
                  || !nonimmediate_operand (operands[1], V4SFmode)
                  || !
#line 6641 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
                return -1;
              return 2437; /* sse_storehps */

            case 0LL:
              if (XWINT (x7, 0) != 1LL
                  || !nonimmediate_operand (operands[0], V2SFmode)
                  || GET_MODE (x2) != V2SFmode
                  || !nonimmediate_operand (operands[1], V4SFmode)
                  || !
#line 6694 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
                return -1;
              return 2439; /* sse_storelps */

            default:
              return -1;
            }

        case 1:
          x6 = XVECEXP (x3, 0, 0);
          if (GET_CODE (x6) != CONST_INT)
            return -1;
          switch (XWINT (x6, 0))
            {
            case 0LL:
              switch (GET_MODE (operands[0]))
                {
                case SFmode:
                  switch (pattern466 (x2))
                    {
                    case 0:
                      if (
#line 600 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
                        return 1125; /* *vec_extractv2sf_0 */
                      break;

                    case 1:
                      if (
#line 7059 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
                        return 2454; /* *vec_extractv4sf_0 */
                      break;

                    default:
                      break;
                    }
                  break;

                case DFmode:
                  if (nonimmediate_operand (operands[0], DFmode)
                      && GET_MODE (x2) == DFmode
                      && nonimmediate_operand (operands[1], V2DFmode))
                    {
                      if (
#line 8824 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
                        return 2716; /* sse2_storelpd */
                      if (
#line 8853 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(!TARGET_SSE2 && TARGET_SSE
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
                        return 2717; /* *vec_extractv2df_0_sse */
                    }
                  break;

                default:
                  break;
                }
              break;

            case 1LL:
              switch (GET_MODE (operands[0]))
                {
                case SFmode:
                  if (nonimmediate_operand (operands[0], SFmode)
                      && GET_MODE (x2) == SFmode
                      && nonimmediate_operand (operands[1], V2SFmode)
                      && 
#line 613 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
                    return 1126; /* *vec_extractv2sf_1 */
                  break;

                case DFmode:
                  if (nonimmediate_operand (operands[0], DFmode)
                      && GET_MODE (x2) == DFmode
                      && nonimmediate_operand (operands[1], V2DFmode))
                    {
                      if (
#line 8775 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
                        return 2714; /* sse2_storehpd */
                      if (
#line 8808 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(!TARGET_SSE2 && TARGET_SSE
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
                        return 2715; /* *vec_extractv2df_1_sse */
                    }
                  break;

                default:
                  break;
                }
              break;

            default:
              break;
            }
          operands[2] = x6;
          switch (GET_MODE (operands[0]))
            {
            case SFmode:
              if (GET_MODE (x2) != SFmode)
                return -1;
              if (nonimmediate_operand (operands[0], SFmode)
                  && register_operand (operands[1], V4SFmode)
                  && const_0_to_3_operand (operands[2], SImode)
                  && 
#line 7070 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1))
                return 2455; /* *sse4_1_extractps */
              if (!register_operand (operands[0], SFmode)
                  || !memory_operand (operands[1], V4SFmode)
                  || !const_0_to_3_operand (operands[2], VOIDmode)
                  || !
#line 7112 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE))
                return -1;
              return 2456; /* *vec_extractv4sf_mem */

            case QImode:
              if (GET_MODE (x2) != QImode)
                return -1;
              if (register_sse4nonimm_operand (operands[0], QImode)
                  && register_operand (operands[1], V16QImode)
                  && const_0_to_15_operand (operands[2], SImode)
                  && (
#line 13464 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2) && 
#line 13456 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1)))
                return 3651; /* *vec_extractv16qi */
              if (!register_operand (operands[0], QImode)
                  || !memory_operand (operands[1], V16QImode)
                  || !const_0_to_15_operand (operands[2], VOIDmode)
                  || !
#line 13513 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE))
                return -1;
              return 3657; /* *vec_extractv16qi_mem */

            case HImode:
              if (GET_MODE (x2) != HImode)
                return -1;
              if (register_sse4nonimm_operand (operands[0], HImode)
                  && register_operand (operands[1], V8HImode)
                  && const_0_to_7_operand (operands[2], SImode)
                  && 
#line 13464 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))
                return 3652; /* *vec_extractv8hi */
              if (!register_operand (operands[0], HImode)
                  || !memory_operand (operands[1], V8HImode)
                  || !const_0_to_7_operand (operands[2], VOIDmode)
                  || !
#line 13513 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE))
                return -1;
              return 3658; /* *vec_extractv8hi_mem */

            default:
              return -1;
            }

        case 4:
          if (!register_operand (operands[0], V4HImode)
              || GET_MODE (x2) != V4HImode
              || !nonimmediate_operand (operands[1], V4HImode))
            return -1;
          x6 = XVECEXP (x3, 0, 0);
          operands[2] = x6;
          if (!const_0_to_3_operand (operands[2], VOIDmode))
            return -1;
          x7 = XVECEXP (x3, 0, 1);
          operands[3] = x7;
          if (!const_0_to_3_operand (operands[3], VOIDmode))
            return -1;
          x8 = XVECEXP (x3, 0, 2);
          operands[4] = x8;
          if (!const_0_to_3_operand (operands[4], VOIDmode))
            return -1;
          x9 = XVECEXP (x3, 0, 3);
          operands[5] = x9;
          if (!const_0_to_3_operand (operands[5], VOIDmode)
              || !
#line 1218 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_SSE || TARGET_3DNOW_A))
            return -1;
          return 1190; /* mmx_pshufw_1 */

        default:
          return -1;
        }

    case VEC_CONCAT:
      x10 = XEXP (x5, 0);
      operands[1] = x10;
      x11 = XEXP (x5, 1);
      operands[2] = x11;
      switch (XVECLEN (x3, 0))
        {
        case 8:
          x6 = XVECEXP (x3, 0, 0);
          if (GET_CODE (x6) != CONST_INT)
            return -1;
          x7 = XVECEXP (x3, 0, 1);
          if (GET_CODE (x7) != CONST_INT
              || pattern434 (x3) != 0
              || pattern467 (x2, V8QImode, V16QImode) != 0)
            return -1;
          switch (XWINT (x6, 0))
            {
            case 4LL:
              if (pattern729 (x3) != 0
                  || !
#line 1077 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX))
                return -1;
              return 1182; /* mmx_punpckhbw */

            case 0LL:
              if (XWINT (x7, 0) != 8LL)
                return -1;
              x8 = XVECEXP (x3, 0, 2);
              if (XWINT (x8, 0) != 1LL)
                return -1;
              x9 = XVECEXP (x3, 0, 3);
              if (XWINT (x9, 0) != 9LL)
                return -1;
              x12 = XVECEXP (x3, 0, 4);
              if (XWINT (x12, 0) != 2LL)
                return -1;
              x13 = XVECEXP (x3, 0, 5);
              if (XWINT (x13, 0) != 10LL)
                return -1;
              x14 = XVECEXP (x3, 0, 6);
              if (XWINT (x14, 0) != 3LL)
                return -1;
              x15 = XVECEXP (x3, 0, 7);
              if (XWINT (x15, 0) != 11LL
                  || !
#line 1092 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX))
                return -1;
              return 1183; /* mmx_punpcklbw */

            default:
              return -1;
            }

        case 4:
          x6 = XVECEXP (x3, 0, 0);
          if (GET_CODE (x6) != CONST_INT)
            return -1;
          x7 = XVECEXP (x3, 0, 1);
          if (GET_CODE (x7) != CONST_INT)
            return -1;
          x8 = XVECEXP (x3, 0, 2);
          if (GET_CODE (x8) != CONST_INT)
            return -1;
          x9 = XVECEXP (x3, 0, 3);
          if (GET_CODE (x9) != CONST_INT
              || pattern467 (x2, V4HImode, V8HImode) != 0)
            return -1;
          switch (pattern751 (x3))
            {
            case 0:
              if (!
#line 1105 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX))
                return -1;
              return 1184; /* mmx_punpckhwd */

            case 1:
              if (!
#line 1118 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX))
                return -1;
              return 1185; /* mmx_punpcklwd */

            default:
              return -1;
            }

        case 2:
          x6 = XVECEXP (x3, 0, 0);
          if (GET_CODE (x6) != CONST_INT)
            return -1;
          x7 = XVECEXP (x3, 0, 1);
          if (GET_CODE (x7) != CONST_INT
              || pattern467 (x2, V2SImode, V4SImode) != 0)
            return -1;
          switch (XWINT (x6, 0))
            {
            case 1LL:
              if (XWINT (x7, 0) != 3LL
                  || !
#line 1131 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX))
                return -1;
              return 1186; /* mmx_punpckhdq */

            case 0LL:
              if (XWINT (x7, 0) != 2LL
                  || !
#line 1144 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX))
                return -1;
              return 1187; /* mmx_punpckldq */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case UNSPEC:
      if (XVECLEN (x5, 0) != 1
          || XINT (x5, 1) != 42
          || GET_MODE (x5) != V4SImode
          || XVECLEN (x3, 0) != 2)
        return -1;
      x6 = XVECEXP (x3, 0, 0);
      if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x7 = XVECEXP (x3, 0, 1);
      if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
          || !register_operand (operands[0], V2SImode)
          || GET_MODE (x2) != V2SImode)
        return -1;
      x16 = XVECEXP (x5, 0, 0);
      operands[1] = x16;
      if (!nonimmediate_operand (operands[1], V4SFmode)
          || !
#line 4223 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE))
        return -1;
      return 2092; /* sse_cvtps2pi */

    case FIX:
      if (GET_MODE (x5) != V4SImode
          || XVECLEN (x3, 0) != 2
          || pattern99 (x2, V4SFmode, V2SImode, 1) != 0
          || !
#line 4234 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE))
        return -1;
      return 2093; /* sse_cvttps2pi */

    default:
      return -1;
    }
}

static int
recog_39 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
      operands[1] = x4;
      switch (GET_MODE (operands[0]))
        {
        case V2SFmode:
          if (!register_operand (operands[0], V2SFmode)
              || GET_MODE (x3) != V2SFmode
              || !register_operand (operands[1], SFmode)
              || !
#line 565 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX))
            return -1;
          return 1123; /* *vec_dupv2sf */

        case V2SImode:
          if (!register_operand (operands[0], V2SImode)
              || GET_MODE (x3) != V2SImode
              || !register_operand (operands[1], SImode)
              || !
#line 1259 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX))
            return -1;
          return 1193; /* *vec_dupv2si */

        default:
          return -1;
        }

    case TRUNCATE:
      if (pattern67 (x3, V4HImode, HImode) != 0
          || !
#line 1249 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_SSE || TARGET_3DNOW_A))
        return -1;
      return 1192; /* *vec_dupv4hi */

    default:
      return -1;
    }
}

static int
recog_40 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
    case MEM:
      switch (pattern35 (x3))
        {
        case 0:
          if (!
#line 702 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX && ix86_binary_operator_ok (SS_PLUS, V8QImode, operands)))
            return -1;
          return 1135; /* *mmx_ssaddv8qi3 */

        case 1:
          if (!
#line 702 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX && ix86_binary_operator_ok (SS_PLUS, V4HImode, operands)))
            return -1;
          return 1139; /* *mmx_ssaddv4hi3 */

        default:
          return -1;
        }

    case MULT:
      if (GET_MODE (x4) != V4HImode)
        return -1;
      x5 = XEXP (x4, 0);
      if (GET_CODE (x5) != ZERO_EXTEND
          || GET_MODE (x5) != V4HImode)
        return -1;
      x6 = XEXP (x5, 0);
      if (GET_CODE (x6) != VEC_SELECT
          || GET_MODE (x6) != V4QImode)
        return -1;
      x7 = XEXP (x6, 1);
      if (GET_CODE (x7) != PARALLEL
          || XVECLEN (x7, 0) != 4
          || pattern515 (x7, 6, 4, 2, 0) != 0)
        return -1;
      x8 = XEXP (x4, 1);
      if (pattern590 (x8, V4QImode, V4HImode) != 0)
        return -1;
      x9 = XEXP (x8, 0);
      x10 = XEXP (x9, 1);
      if (pattern789 (x10, 6, 4, 2, 0) != 0)
        return -1;
      x11 = XEXP (x3, 1);
      if (pattern917 (x11, V4QImode, V4HImode, ZERO_EXTEND) != 0
          || !register_operand (operands[0], V4HImode)
          || GET_MODE (x3) != V4HImode)
        return -1;
      x12 = XEXP (x6, 0);
      operands[1] = x12;
      if (!register_operand (operands[1], V8QImode))
        return -1;
      x13 = XEXP (x9, 0);
      operands[2] = x13;
      if (!nonimmediate_operand (operands[2], V8QImode))
        return -1;
      x14 = XEXP (x11, 0);
      x15 = XEXP (x14, 0);
      x16 = XEXP (x15, 0);
      if (!rtx_equal_p (x16, operands[1]))
        return -1;
      x17 = XEXP (x11, 1);
      x18 = XEXP (x17, 0);
      x19 = XEXP (x18, 0);
      if (!rtx_equal_p (x19, operands[2])
          || !
#line 14625 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3))
        return -1;
      return 3736; /* ssse3_pmaddubsw */

    default:
      return -1;
    }
}

static int
recog_41 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19, x20;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != LSHIFTRT)
    return -1;
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) != CONST_INT)
    return -1;
  x5 = XEXP (x1, 0);
  operands[0] = x5;
  x6 = XEXP (x3, 0);
  switch (GET_CODE (x6))
    {
    case MULT:
      if (GET_MODE (x6) != V4SImode
          || XWINT (x4, 0) != 16LL
          || !register_operand (operands[0], V4HImode)
          || GET_MODE (x2) != V4HImode
          || GET_MODE (x3) != V4SImode)
        return -1;
      x7 = XEXP (x6, 0);
      if (GET_MODE (x7) != V4SImode)
        return -1;
      x8 = XEXP (x6, 1);
      if (GET_MODE (x8) != V4SImode)
        return -1;
      switch (GET_CODE (x7))
        {
        case SIGN_EXTEND:
          if (GET_CODE (x8) != SIGN_EXTEND)
            return -1;
          x9 = XEXP (x7, 0);
          operands[1] = x9;
          if (!nonimmediate_operand (operands[1], V4HImode))
            return -1;
          x10 = XEXP (x8, 0);
          operands[2] = x10;
          if (!nonimmediate_operand (operands[2], V4HImode)
              || !
#line 746 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX && ix86_binary_operator_ok (MULT, V4HImode, operands)))
            return -1;
          return 1144; /* *mmx_smulv4hi3_highpart */

        case ZERO_EXTEND:
          if (GET_CODE (x8) != ZERO_EXTEND)
            return -1;
          x9 = XEXP (x7, 0);
          operands[1] = x9;
          if (!nonimmediate_operand (operands[1], V4HImode))
            return -1;
          x10 = XEXP (x8, 0);
          operands[2] = x10;
          if (!nonimmediate_operand (operands[2], V4HImode)
              || !
#line 774 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
((TARGET_SSE || TARGET_3DNOW_A)
   && ix86_binary_operator_ok (MULT, V4HImode, operands)))
            return -1;
          return 1145; /* *mmx_umulv4hi3_highpart */

        default:
          return -1;
        }

    case PLUS:
      x7 = XEXP (x6, 0);
      switch (GET_CODE (x7))
        {
        case MULT:
          if (GET_MODE (x7) != V4SImode)
            return -1;
          x9 = XEXP (x7, 0);
          if (GET_CODE (x9) != SIGN_EXTEND
              || GET_MODE (x9) != V4SImode)
            return -1;
          x11 = XEXP (x7, 1);
          if (GET_CODE (x11) != SIGN_EXTEND
              || GET_MODE (x11) != V4SImode)
            return -1;
          x8 = XEXP (x6, 1);
          if (GET_CODE (x8) != CONST_VECTOR
              || XVECLEN (x8, 0) != 4
              || GET_MODE (x8) != V4SImode)
            return -1;
          x12 = XVECEXP (x8, 0, 0);
          if (GET_CODE (x12) != CONST_INT
              || XWINT (x12, 0) != 32768LL)
            return -1;
          x13 = XVECEXP (x8, 0, 1);
          if (GET_CODE (x13) != CONST_INT
              || XWINT (x13, 0) != 32768LL)
            return -1;
          x14 = XVECEXP (x8, 0, 2);
          if (GET_CODE (x14) != CONST_INT
              || XWINT (x14, 0) != 32768LL)
            return -1;
          x15 = XVECEXP (x8, 0, 3);
          if (GET_CODE (x15) != CONST_INT
              || XWINT (x15, 0) != 32768LL
              || XWINT (x4, 0) != 16LL
              || pattern724 (x2, V4SImode, V4HImode) != 0)
            return -1;
          x16 = XEXP (x9, 0);
          operands[1] = x16;
          if (!nonimmediate_operand (operands[1], V4HImode))
            return -1;
          x17 = XEXP (x11, 0);
          operands[2] = x17;
          if (!nonimmediate_operand (operands[2], V4HImode)
              || !
#line 855 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_3DNOW && ix86_binary_operator_ok (MULT, V4HImode, operands)))
            return -1;
          return 1147; /* *mmx_pmulhrwv4hi3 */

        case PLUS:
          x9 = XEXP (x7, 0);
          if (GET_CODE (x9) != ZERO_EXTEND)
            return -1;
          x11 = XEXP (x7, 1);
          if (GET_CODE (x11) != ZERO_EXTEND)
            return -1;
          x8 = XEXP (x6, 1);
          if (GET_CODE (x8) != CONST_VECTOR
              || XWINT (x4, 0) != 1LL)
            return -1;
          x16 = XEXP (x9, 0);
          operands[1] = x16;
          x17 = XEXP (x11, 0);
          operands[2] = x17;
          switch (XVECLEN (x8, 0))
            {
            case 8:
              if (pattern650 (x8, V8HImode) != 0
                  || pattern801 (x2, V8QImode, V8HImode) != 0
                  || !
#line 1468 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
((TARGET_SSE || TARGET_3DNOW)
   && ix86_binary_operator_ok (PLUS, V8QImode, operands)))
                return -1;
              return 1198; /* *mmx_uavgv8qi3 */

            case 4:
              if (GET_MODE (x8) != V4SImode)
                return -1;
              x12 = XVECEXP (x8, 0, 0);
              if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
                return -1;
              x13 = XVECEXP (x8, 0, 1);
              if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
                return -1;
              x14 = XVECEXP (x8, 0, 2);
              if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
                return -1;
              x15 = XVECEXP (x8, 0, 3);
              if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
                  || pattern801 (x2, V4HImode, V4SImode) != 0
                  || !
#line 1516 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
((TARGET_SSE || TARGET_3DNOW_A)
   && ix86_binary_operator_ok (PLUS, V4HImode, operands)))
                return -1;
              return 1199; /* *mmx_uavgv4hi3 */

            default:
              return -1;
            }

        case LSHIFTRT:
          if (GET_MODE (x7) != V4SImode)
            return -1;
          x9 = XEXP (x7, 0);
          if (GET_CODE (x9) != MULT
              || GET_MODE (x9) != V4SImode)
            return -1;
          x16 = XEXP (x9, 0);
          if (GET_CODE (x16) != SIGN_EXTEND
              || GET_MODE (x16) != V4SImode)
            return -1;
          x18 = XEXP (x9, 1);
          if (GET_CODE (x18) != SIGN_EXTEND
              || GET_MODE (x18) != V4SImode)
            return -1;
          x11 = XEXP (x7, 1);
          if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 14]
              || XWINT (x4, 0) != 1LL
              || pattern724 (x2, V4SImode, V4HImode) != 0)
            return -1;
          x19 = XEXP (x16, 0);
          operands[1] = x19;
          if (!nonimmediate_operand (operands[1], V4HImode))
            return -1;
          x20 = XEXP (x18, 0);
          operands[2] = x20;
          if (!nonimmediate_operand (operands[2], V4HImode))
            return -1;
          x8 = XEXP (x6, 1);
          operands[3] = x8;
          if (!const1_operand (operands[3], V4HImode)
              || !
#line 14720 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3 && ix86_binary_operator_ok (MULT, V4HImode, operands)))
            return -1;
          return 3743; /* *ssse3_pmulhrswv4hi3 */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_42 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 1);
  operands[2] = x4;
  x5 = XEXP (x3, 0);
  switch (GET_CODE (x5))
    {
    case REG:
    case SUBREG:
    case MEM:
      operands[1] = x5;
      x6 = XEXP (x3, 2);
      switch (GET_CODE (x6))
        {
        case REG:
        case SUBREG:
        case MEM:
          operands[3] = x6;
          switch (pattern288 (x3))
            {
            case 0:
              if (nonimmediate_operand (operands[1], SFmode)
                  && nonimmediate_operand (operands[2], SFmode)
                  && nonimmediate_operand (operands[3], SFmode)
                  && 
#line 3603 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
                return 1789; /* *fma_fmadd_sf */
              if (!vector_operand (operands[1], SFmode)
                  || !vector_operand (operands[2], SFmode)
                  || !vector_operand (operands[3], SFmode)
                  || !
#line 3625 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && 1))
                return -1;
              return 1795; /* *fma_fmadd_sf */

            case 1:
              if (nonimmediate_operand (operands[1], DFmode)
                  && nonimmediate_operand (operands[2], DFmode)
                  && nonimmediate_operand (operands[3], DFmode)
                  && 
#line 3603 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
                return 1790; /* *fma_fmadd_df */
              if (!vector_operand (operands[1], DFmode)
                  || !vector_operand (operands[2], DFmode)
                  || !vector_operand (operands[3], DFmode)
                  || !
#line 3625 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && 1))
                return -1;
              return 1804; /* *fma_fmadd_df */

            default:
              return -1;
            }

        case NEG:
          x7 = XEXP (x6, 0);
          operands[3] = x7;
          switch (GET_MODE (operands[0]))
            {
            case SFmode:
              if (!register_operand (operands[0], SFmode)
                  || GET_MODE (x3) != SFmode
                  || GET_MODE (x6) != SFmode)
                return -1;
              if (nonimmediate_operand (operands[1], SFmode)
                  && nonimmediate_operand (operands[2], SFmode)
                  && nonimmediate_operand (operands[3], SFmode)
                  && 
#line 3672 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
                return 1833; /* *fma_fmsub_sf */
              if (!vector_operand (operands[1], SFmode)
                  || !vector_operand (operands[2], SFmode)
                  || !vector_operand (operands[3], SFmode)
                  || !
#line 3690 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && 1))
                return -1;
              return 1839; /* *fma_fmsub_sf */

            case DFmode:
              if (!register_operand (operands[0], DFmode)
                  || GET_MODE (x3) != DFmode
                  || GET_MODE (x6) != DFmode)
                return -1;
              if (nonimmediate_operand (operands[1], DFmode)
                  && nonimmediate_operand (operands[2], DFmode)
                  && nonimmediate_operand (operands[3], DFmode)
                  && 
#line 3672 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
                return 1834; /* *fma_fmsub_df */
              if (!vector_operand (operands[1], DFmode)
                  || !vector_operand (operands[2], DFmode)
                  || !vector_operand (operands[3], DFmode)
                  || !
#line 3690 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && 1))
                return -1;
              return 1848; /* *fma_fmsub_df */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case NEG:
      x8 = XEXP (x5, 0);
      operands[1] = x8;
      x6 = XEXP (x3, 2);
      switch (GET_CODE (x6))
        {
        case REG:
        case SUBREG:
        case MEM:
          operands[3] = x6;
          switch (GET_MODE (operands[0]))
            {
            case SFmode:
              if (!register_operand (operands[0], SFmode)
                  || GET_MODE (x3) != SFmode
                  || GET_MODE (x5) != SFmode)
                return -1;
              if (nonimmediate_operand (operands[1], SFmode)
                  && nonimmediate_operand (operands[2], SFmode)
                  && nonimmediate_operand (operands[3], SFmode)
                  && 
#line 3739 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
                return 1877; /* *fma_fnmadd_sf */
              if (!vector_operand (operands[1], SFmode)
                  || !vector_operand (operands[2], SFmode)
                  || !vector_operand (operands[3], SFmode)
                  || !
#line 3757 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && 1))
                return -1;
              return 1883; /* *fma_fnmadd_sf */

            case DFmode:
              if (!register_operand (operands[0], DFmode)
                  || GET_MODE (x3) != DFmode
                  || GET_MODE (x5) != DFmode)
                return -1;
              if (nonimmediate_operand (operands[1], DFmode)
                  && nonimmediate_operand (operands[2], DFmode)
                  && nonimmediate_operand (operands[3], DFmode)
                  && 
#line 3739 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
                return 1878; /* *fma_fnmadd_df */
              if (!vector_operand (operands[1], DFmode)
                  || !vector_operand (operands[2], DFmode)
                  || !vector_operand (operands[3], DFmode)
                  || !
#line 3757 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && 1))
                return -1;
              return 1892; /* *fma_fnmadd_df */

            default:
              return -1;
            }

        case NEG:
          x7 = XEXP (x6, 0);
          operands[3] = x7;
          switch (GET_MODE (operands[0]))
            {
            case SFmode:
              if (pattern402 (x3, SFmode) != 0)
                return -1;
              if (nonimmediate_operand (operands[1], SFmode)
                  && nonimmediate_operand (operands[2], SFmode)
                  && nonimmediate_operand (operands[3], SFmode)
                  && 
#line 3807 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
                return 1917; /* *fma_fnmsub_sf */
              if (!vector_operand (operands[1], SFmode)
                  || !vector_operand (operands[2], SFmode)
                  || !vector_operand (operands[3], SFmode)
                  || !
#line 3826 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && 1))
                return -1;
              return 1937; /* *fma_fnmsub_sf */

            case DFmode:
              if (pattern402 (x3, DFmode) != 0)
                return -1;
              if (nonimmediate_operand (operands[1], DFmode)
                  && nonimmediate_operand (operands[2], DFmode)
                  && nonimmediate_operand (operands[3], DFmode)
                  && 
#line 3807 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
                return 1919; /* *fma_fnmsub_df */
              if (!vector_operand (operands[1], DFmode)
                  || !vector_operand (operands[2], DFmode)
                  || !vector_operand (operands[3], DFmode)
                  || !
#line 3826 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && 1))
                return -1;
              return 1946; /* *fma_fnmsub_df */

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_43 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
    case MEM:
      if (pnum_clobbers != NULL)
        {
          switch (pattern154 (x3))
            {
            case 0:
              if (x86_64_hilo_general_operand (operands[2], DImode)
                  && (
#line 5515 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, DImode, operands)) && 
#line 1041 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT)))
                {
                  *pnum_clobbers = 1;
                  return 215; /* *adddi3_doubleword */
                }
              if (x86_64_general_operand (operands[2], DImode)
                  && (
#line 5546 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, DImode, operands)) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                {
                  *pnum_clobbers = 1;
                  return 218; /* *adddi_1 */
                }
              break;

            case 1:
              if (
#line 5546 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, SImode, operands)))
                {
                  *pnum_clobbers = 1;
                  return 217; /* *addsi_1 */
                }
              break;

            default:
              break;
            }
        }
      operands[1] = x4;
      if (!register_operand (operands[1], SImode)
          || pattern211 (x3, 23) != 0)
        return -1;
      x5 = XEXP (x3, 1);
      x6 = XEXP (x5, 0);
      x7 = XVECEXP (x6, 0, 0);
      operands[2] = x7;
      if (!tls_symbolic_operand (operands[2], VOIDmode)
          || !
#line 13865 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_GNU2_TLS))
        return -1;
      return 794; /* *tls_dynamic_gnu2_lea_32 */

    case PLUS:
      if (pnum_clobbers == NULL)
        return -1;
      x8 = XEXP (x4, 0);
      switch (GET_CODE (x8))
        {
        case GE:
        case GT:
        case LE:
        case LT:
        case GTU:
        case LTU:
        case UNEQ:
        case UNGE:
        case UNGT:
        case UNLE:
        case UNLT:
        case LTGT:
          operands[4] = x8;
          x9 = XEXP (x8, 1);
          if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x10 = XEXP (x8, 0);
          operands[3] = x10;
          if (!flags_reg_operand (operands[3], VOIDmode))
            return -1;
          x11 = XEXP (x4, 1);
          operands[1] = x11;
          x5 = XEXP (x3, 1);
          operands[2] = x5;
          switch (GET_MODE (operands[0]))
            {
            case SImode:
              if (pattern591 (x3, SImode) != 0
                  || !
#line 6681 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, SImode, operands)))
                return -1;
              *pnum_clobbers = 1;
              return 297; /* addsi3_carry */

            case DImode:
              if (pattern591 (x3, DImode) != 0
                  || !(
#line 6681 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, DImode, operands)) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              *pnum_clobbers = 1;
              return 298; /* adddi3_carry */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case UNSPEC:
      if (pnum_clobbers == NULL)
        return -1;
      switch (XVECLEN (x4, 0))
        {
        case 3:
          x12 = XVECEXP (x4, 0, 2);
          if (GET_CODE (x12) != REG
              || REGNO (x12) != 7)
            return -1;
          x5 = XEXP (x3, 1);
          if (GET_CODE (x5) != CONST)
            return -1;
          x6 = XEXP (x5, 0);
          if (GET_CODE (x6) != UNSPEC
              || XVECLEN (x6, 0) != 1
              || XINT (x6, 1) != 6)
            return -1;
          x7 = XVECEXP (x6, 0, 0);
          if (!tls_symbolic_operand (x7, VOIDmode))
            return -1;
          switch (XINT (x4, 1))
            {
            case 22:
              if (GET_MODE (x4) != SImode
                  || !register_operand (operands[0], SImode)
                  || GET_MODE (x3) != SImode)
                return -1;
              x13 = XVECEXP (x4, 0, 0);
              operands[1] = x13;
              if (!register_operand (operands[1], SImode))
                return -1;
              x14 = XVECEXP (x4, 0, 1);
              operands[2] = x14;
              if (!constant_call_address_operand (operands[2], VOIDmode)
                  || GET_MODE (x12) != SImode
                  || GET_MODE (x5) != SImode
                  || GET_MODE (x6) != SImode)
                return -1;
              operands[3] = x7;
              *pnum_clobbers = 3;
              return 785; /* *tls_local_dynamic_32_once */

            case 23:
              if (GET_MODE (x4) != DImode
                  || !register_operand (operands[0], DImode)
                  || GET_MODE (x3) != DImode)
                return -1;
              x13 = XVECEXP (x4, 0, 0);
              operands[2] = x13;
              if (!tls_modbase_operand (operands[2], VOIDmode))
                return -1;
              x14 = XVECEXP (x4, 0, 1);
              operands[3] = x14;
              if (GET_MODE (x12) != DImode
                  || GET_MODE (x5) != DImode
                  || GET_MODE (x6) != DImode)
                return -1;
              operands[1] = x7;
              if (!
#line 13958 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_GNU2_TLS))
                return -1;
              *pnum_clobbers = 1;
              return 799; /* *tls_dynamic_gnu2_combine_64 */

            default:
              return -1;
            }

        case 1:
          if (XINT (x4, 1) != 20)
            return -1;
          x13 = XVECEXP (x4, 0, 0);
          if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x5 = XEXP (x3, 1);
          operands[1] = x5;
          switch (GET_MODE (operands[0]))
            {
            case SImode:
              if (pattern468 (x3, SImode) != 0)
                return -1;
              if (
#line 13788 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_X32))
                {
                  *pnum_clobbers = 1;
                  return 790; /* *add_tp_x32 */
                }
              if (!(
#line 13815 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_X32) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return -1;
              *pnum_clobbers = 1;
              return 792; /* *add_tp_si */

            case DImode:
              if (pattern468 (x3, DImode) != 0
                  || !(
#line 13815 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_X32) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return -1;
              *pnum_clobbers = 1;
              return 793; /* *add_tp_di */

            default:
              return -1;
            }

        case 4:
          if (XINT (x4, 1) != 23
              || GET_MODE (x4) != SImode)
            return -1;
          x15 = XVECEXP (x4, 0, 3);
          if (GET_CODE (x15) != REG
              || REGNO (x15) != 7
              || GET_MODE (x15) != SImode
              || pattern211 (x3, 6) != 0)
            return -1;
          x13 = XVECEXP (x4, 0, 0);
          operands[3] = x13;
          if (!tls_modbase_operand (operands[3], VOIDmode))
            return -1;
          x14 = XVECEXP (x4, 0, 1);
          operands[4] = x14;
          x12 = XVECEXP (x4, 0, 2);
          operands[2] = x12;
          if (!register_operand (operands[2], SImode))
            return -1;
          x5 = XEXP (x3, 1);
          x6 = XEXP (x5, 0);
          x7 = XVECEXP (x6, 0, 0);
          operands[1] = x7;
          if (!tls_symbolic_operand (operands[1], VOIDmode)
              || !
#line 13899 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_GNU2_TLS))
            return -1;
          *pnum_clobbers = 1;
          return 796; /* *tls_dynamic_gnu2_combine_32 */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_44 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case PLUS:
      if (pattern68 (x3, pnum_clobbers) != 0)
        return -1;
      x5 = XEXP (x4, 0);
      switch (GET_CODE (x5))
        {
        case REG:
        case SUBREG:
        case MEM:
          operands[1] = x5;
          if (!nonimmediate_operand (operands[1], SImode))
            return -1;
          x6 = XEXP (x4, 1);
          operands[2] = x6;
          if (!x86_64_general_operand (operands[2], SImode)
              || !
#line 5602 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (PLUS, SImode, operands)))
            return -1;
          *pnum_clobbers = 1;
          return 219; /* addsi_1_zext */

        case PLUS:
          if (GET_MODE (x5) != SImode)
            return -1;
          x7 = XEXP (x5, 0);
          if (!ix86_carry_flag_operator (x7, SImode))
            return -1;
          operands[3] = x7;
          x8 = XEXP (x7, 0);
          if (GET_CODE (x8) != REG
              || REGNO (x8) != 17)
            return -1;
          x9 = XEXP (x7, 1);
          if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x10 = XEXP (x5, 1);
          operands[1] = x10;
          if (!register_operand (operands[1], SImode))
            return -1;
          x6 = XEXP (x4, 1);
          operands[2] = x6;
          if (!x86_64_general_operand (operands[2], SImode)
              || !
#line 6697 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (PLUS, SImode, operands)))
            return -1;
          *pnum_clobbers = 1;
          return 299; /* *addsi3_carry_zext */

        case UNSPEC:
          if (XVECLEN (x5, 0) != 1
              || XINT (x5, 1) != 20
              || GET_MODE (x5) != SImode)
            return -1;
          x11 = XVECEXP (x5, 0, 0);
          if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x6 = XEXP (x4, 1);
          operands[1] = x6;
          if (!register_operand (operands[1], SImode)
              || !
#line 13802 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_X32))
            return -1;
          *pnum_clobbers = 1;
          return 791; /* *add_tp_x32_zext */

        default:
          return -1;
        }

    case MINUS:
      if (pattern68 (x3, pnum_clobbers) != 0)
        return -1;
      x6 = XEXP (x4, 1);
      operands[2] = x6;
      if (!x86_64_general_operand (operands[2], SImode))
        return -1;
      x5 = XEXP (x4, 0);
      switch (GET_CODE (x5))
        {
        case REG:
        case SUBREG:
          operands[1] = x5;
          if (!register_operand (operands[1], SImode)
              || !
#line 6515 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (MINUS, SImode, operands)))
            return -1;
          *pnum_clobbers = 1;
          return 275; /* *subsi_1_zext */

        case MINUS:
          if (GET_MODE (x5) != SImode)
            return -1;
          x10 = XEXP (x5, 1);
          if (!ix86_carry_flag_operator (x10, SImode))
            return -1;
          operands[3] = x10;
          x12 = XEXP (x10, 0);
          if (GET_CODE (x12) != REG
              || REGNO (x12) != 17)
            return -1;
          x13 = XEXP (x10, 1);
          if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x7 = XEXP (x5, 0);
          operands[1] = x7;
          if (!register_operand (operands[1], SImode)
              || !
#line 6754 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (MINUS, SImode, operands)))
            return -1;
          *pnum_clobbers = 1;
          return 306; /* *subsi3_carry_zext */

        default:
          return -1;
        }

    case MULT:
      if (pattern69 (x3, pnum_clobbers) != 0
          || !
#line 6972 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
        return -1;
      *pnum_clobbers = 1;
      return 330; /* *mulsi3_1_zext */

    case TRUNCATE:
      if (pnum_clobbers == NULL
          || GET_MODE (x4) != SImode)
        return -1;
      x5 = XEXP (x4, 0);
      if (GET_CODE (x5) != LSHIFTRT
          || GET_MODE (x5) != DImode)
        return -1;
      x7 = XEXP (x5, 0);
      if (GET_CODE (x7) != MULT
          || GET_MODE (x7) != DImode)
        return -1;
      x10 = XEXP (x5, 1);
      if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 32]
          || !register_operand (operands[0], DImode)
          || GET_MODE (x3) != DImode)
        return -1;
      x8 = XEXP (x7, 0);
      if (GET_MODE (x8) != DImode)
        return -1;
      x9 = XEXP (x7, 1);
      if (GET_MODE (x9) != DImode)
        return -1;
      switch (GET_CODE (x8))
        {
        case SIGN_EXTEND:
          if (GET_CODE (x9) != SIGN_EXTEND)
            return -1;
          x14 = XEXP (x8, 0);
          operands[1] = x14;
          if (!nonimmediate_operand (operands[1], SImode))
            return -1;
          x15 = XEXP (x9, 0);
          operands[2] = x15;
          if (!nonimmediate_operand (operands[2], SImode)
              || !
#line 7417 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
            return -1;
          *pnum_clobbers = 2;
          return 353; /* *smulsi3_highpart_zext */

        case ZERO_EXTEND:
          if (GET_CODE (x9) != ZERO_EXTEND)
            return -1;
          x14 = XEXP (x8, 0);
          operands[1] = x14;
          if (!nonimmediate_operand (operands[1], SImode))
            return -1;
          x15 = XEXP (x9, 0);
          operands[2] = x15;
          if (!nonimmediate_operand (operands[2], SImode)
              || !
#line 7417 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
            return -1;
          *pnum_clobbers = 2;
          return 354; /* *umulsi3_highpart_zext */

        default:
          return -1;
        }

    case AND:
      if (pattern69 (x3, pnum_clobbers) != 0
          || !
#line 8223 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (AND, SImode, operands)))
        return -1;
      *pnum_clobbers = 1;
      return 389; /* *andsi_1_zext */

    case IOR:
      if (pattern69 (x3, pnum_clobbers) != 0
          || !
#line 8740 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (IOR, SImode, operands)))
        return -1;
      *pnum_clobbers = 1;
      return 419; /* *iorsi_1_zext */

    case XOR:
      if (pattern69 (x3, pnum_clobbers) != 0
          || !
#line 8740 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (XOR, SImode, operands)))
        return -1;
      *pnum_clobbers = 1;
      return 420; /* *xorsi_1_zext */

    case NOT:
      if (pattern67 (x3, DImode, SImode) != 0
          || !
#line 9421 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_unary_operator_ok (NOT, SImode, operands)))
        return -1;
      return 496; /* *one_cmplsi2_1_zext */

    case ASHIFT:
      if (pattern70 (x3) != 0)
        return -1;
      if (register_operand (operands[2], SImode)
          && 
#line 9735 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_BMI2))
        return 513; /* *bmi2_ashlsi3_1_zext */
      if (pnum_clobbers == NULL
          || !nonmemory_operand (operands[2], QImode)
          || !
#line 9746 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (ASHIFT, SImode, operands)))
        return -1;
      *pnum_clobbers = 1;
      return 514; /* *ashlsi3_1_zext */

    case ASHIFTRT:
      if (GET_MODE (x4) != SImode
          || !register_operand (operands[0], DImode)
          || GET_MODE (x3) != DImode)
        return -1;
      x5 = XEXP (x4, 0);
      operands[1] = x5;
      x6 = XEXP (x4, 1);
      operands[2] = x6;
      switch (GET_CODE (operands[2]))
        {
        case CONST_INT:
          if (pnum_clobbers != NULL
              && const_int_operand (operands[2], QImode)
              && register_operand (operands[1], SImode)
              && 
#line 10246 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 = 1;
              return 538; /* *ashrsi3_cvt_zext */
            }
          break;

        case REG:
        case SUBREG:
          if (register_operand (operands[2], SImode)
              && nonimmediate_operand (operands[1], SImode)
              && 
#line 10361 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_BMI2))
            return 549; /* *bmi2_ashrsi3_1_zext */
          break;

        default:
          break;
        }
      if (pnum_clobbers == NULL
          || !nonmemory_operand (operands[2], QImode)
          || !nonimmediate_operand (operands[1], SImode)
          || !
#line 10372 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (ASHIFTRT, SImode, operands)))
        return -1;
      *pnum_clobbers = 1;
      return 551; /* *ashrsi3_1_zext */

    case LSHIFTRT:
      if (pattern70 (x3) != 0)
        return -1;
      if (register_operand (operands[2], SImode)
          && 
#line 10361 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_BMI2))
        return 548; /* *bmi2_lshrsi3_1_zext */
      if (pnum_clobbers == NULL
          || !nonmemory_operand (operands[2], QImode)
          || !
#line 10372 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (LSHIFTRT, SImode, operands)))
        return -1;
      *pnum_clobbers = 1;
      return 550; /* *lshrsi3_1_zext */

    case ROTATERT:
      if (pattern70 (x3) != 0)
        return -1;
      if (const_0_to_31_operand (operands[2], QImode)
          && 
#line 10756 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_BMI2))
        return 590; /* *bmi2_rorxsi3_1_zext */
      if (pnum_clobbers == NULL
          || !nonmemory_operand (operands[2], QImode)
          || !
#line 10767 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (ROTATERT, SImode, operands)))
        return -1;
      *pnum_clobbers = 1;
      return 592; /* *rotrsi3_1_zext */

    case ROTATE:
      if (pnum_clobbers == NULL
          || pattern70 (x3) != 0
          || !nonmemory_operand (operands[2], QImode)
          || !
#line 10767 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (ROTATE, SImode, operands)))
        return -1;
      *pnum_clobbers = 1;
      return 591; /* *rotlsi3_1_zext */

    case UNSPEC:
      if (XVECLEN (x4, 0) != 1
          || !register_operand (operands[0], DImode)
          || GET_MODE (x3) != DImode
          || GET_MODE (x4) != SImode)
        return -1;
      switch (XINT (x4, 1))
        {
        case 20:
          x16 = XVECEXP (x4, 0, 0);
          if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
              || !
#line 13764 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_X32))
            return -1;
          return 787; /* *load_tp_x32_zext */

        case 44:
          x16 = XVECEXP (x4, 0, 0);
          operands[1] = x16;
          switch (GET_MODE (operands[1]))
            {
            case V8SFmode:
              if (!register_operand (operands[1], V8SFmode)
                  || !(
#line 14066 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_64BIT && TARGET_SSE) && 
#line 230 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
                return -1;
              return 3692; /* *avx_movmskps256_zext */

            case V4SFmode:
              if (!register_operand (operands[1], V4SFmode)
                  || !
#line 14066 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_64BIT && TARGET_SSE))
                return -1;
              return 3693; /* *sse_movmskps_zext */

            case V4DFmode:
              if (!register_operand (operands[1], V4DFmode)
                  || !(
#line 14066 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_64BIT && TARGET_SSE) && 
#line 231 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
                return -1;
              return 3694; /* *avx_movmskpd256_zext */

            case V2DFmode:
              if (!register_operand (operands[1], V2DFmode)
                  || !(
#line 14066 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_64BIT && TARGET_SSE) && 
#line 231 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
                return -1;
              return 3695; /* *sse2_movmskpd_zext */

            case V32QImode:
              if (!register_operand (operands[1], V32QImode)
                  || !(
#line 14094 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_64BIT && TARGET_SSE2) && 
#line 323 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
                return -1;
              return 3698; /* *avx2_pmovmskb_zext */

            case V16QImode:
              if (!register_operand (operands[1], V16QImode)
                  || !
#line 14094 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_64BIT && TARGET_SSE2))
                return -1;
              return 3699; /* *sse2_pmovmskb_zext */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case VEC_SELECT:
      x6 = XEXP (x4, 1);
      if (GET_CODE (x6) != PARALLEL
          || XVECLEN (x6, 0) != 1)
        return -1;
      x17 = XVECEXP (x6, 0, 0);
      if (GET_CODE (x17) != CONST_INT)
        return -1;
      operands[2] = x17;
      x5 = XEXP (x4, 0);
      operands[1] = x5;
      switch (pattern39 (x3))
        {
        case 0:
          switch (GET_MODE (x4))
            {
            case HImode:
              switch (GET_MODE (operands[1]))
                {
                case V4HImode:
                  if (register_operand (operands[1], V4HImode)
                      && const_0_to_3_operand (operands[2], SImode)
                      && 
#line 1189 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_SSE || TARGET_3DNOW_A))
                    return 1189; /* mmx_pextrw */
                  break;

                case V8HImode:
                  if (register_operand (operands[1], V8HImode)
                      && const_0_to_7_operand (operands[2], SImode)
                      && 
#line 13491 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))
                    return 3655; /* *vec_extractv8hi_zext */
                  break;

                default:
                  break;
                }
              break;

            case QImode:
              if (register_operand (operands[1], V16QImode)
                  && const_0_to_15_operand (operands[2], SImode)
                  && (
#line 13491 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2) && 
#line 13456 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1)))
                return 3653; /* *vec_extractv16qi_zext */
              break;

            default:
              break;
            }
          break;

        case 1:
          switch (GET_MODE (x4))
            {
            case SImode:
              if (memory_operand (operands[1], V2SImode)
                  && const_0_to_1_operand (operands[2], SImode)
                  && 
#line 1339 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_64BIT && TARGET_MMX))
                return 1197; /* *vec_extractv2si_zext_mem */
              break;

            case QImode:
              if (register_operand (operands[1], V16QImode)
                  && const_0_to_15_operand (operands[2], SImode)
                  && (
#line 13491 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2) && (
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT) && 
#line 13456 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1))))
                return 3654; /* *vec_extractv16qi_zext */
              break;

            case HImode:
              if (register_operand (operands[1], V8HImode)
                  && const_0_to_7_operand (operands[2], SImode)
                  && (
#line 13491 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return 3656; /* *vec_extractv8hi_zext */
              break;

            default:
              break;
            }
          break;

        default:
          break;
        }
      if (!register_operand (operands[0], DImode)
          || GET_MODE (x3) != DImode
          || GET_MODE (x4) != SImode)
        return -1;
      operands[1] = x5;
      if (register_operand (operands[1], V4SImode))
        {
          if (XWINT (x17, 0) == 0LL)
            {
              if (
#line 13548 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1))
                return 3662; /* *vec_extractv4si_0_zext_sse4 */
              if (
#line 13558 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_64BIT && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES_FROM_VEC))
                return 3663; /* *vec_extractv4si_0_zext */
            }
          operands[2] = x17;
          if (const_0_to_3_operand (operands[2], SImode)
              && 
#line 13614 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_64BIT && TARGET_SSE4_1))
            return 3665; /* *vec_extractv4si_zext */
        }
      if (!memory_operand (operands[1], V4SImode))
        return -1;
      operands[2] = x17;
      if (!const_0_to_3_operand (operands[2], SImode)
          || !
#line 13637 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_64BIT && TARGET_SSE))
        return -1;
      return 3667; /* *vec_extractv4si_zext_mem */

    default:
      return -1;
    }
}

static int
recog_45 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x4 = XEXP (x1, 0);
  operands[0] = x4;
  if (!flags_reg_operand (operands[0], VOIDmode))
    return -1;
  operands[1] = x2;
  if (!compare_operator (operands[1], VOIDmode))
    return -1;
  x5 = XEXP (x2, 0);
  x6 = XEXP (x5, 0);
  operands[2] = x6;
  if (!nonimmediate_operand (operands[2], VOIDmode))
    return -1;
  x7 = XEXP (x5, 2);
  operands[4] = x7;
  if (!const_int_operand (operands[4], VOIDmode))
    return -1;
  switch (GET_MODE (x5))
    {
    case HImode:
      if (!
#line 7998 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && ((TARGET_64BIT && GET_MODE (operands[2]) == DImode)
       || GET_MODE (operands[2]) == SImode
       || GET_MODE (operands[2]) == HImode
       || GET_MODE (operands[2]) == QImode)
   /* Ensure that resulting mask is zero or sign extended operand.  */
   && INTVAL (operands[4]) >= 0
   && ((INTVAL (operands[3]) > 0
	&& INTVAL (operands[3]) + INTVAL (operands[4]) <= 32)
       || (HImode == DImode
	   && INTVAL (operands[3]) > 32
	   && INTVAL (operands[3]) + INTVAL (operands[4]) == 64))))
        return -1;
      return 384; /* *testqi_ext_3 */

    case SImode:
      if (!
#line 7998 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && ((TARGET_64BIT && GET_MODE (operands[2]) == DImode)
       || GET_MODE (operands[2]) == SImode
       || GET_MODE (operands[2]) == HImode
       || GET_MODE (operands[2]) == QImode)
   /* Ensure that resulting mask is zero or sign extended operand.  */
   && INTVAL (operands[4]) >= 0
   && ((INTVAL (operands[3]) > 0
	&& INTVAL (operands[3]) + INTVAL (operands[4]) <= 32)
       || (SImode == DImode
	   && INTVAL (operands[3]) > 32
	   && INTVAL (operands[3]) + INTVAL (operands[4]) == 64))))
        return -1;
      return 385; /* *testqi_ext_3 */

    case DImode:
      if (!(
#line 7998 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && ((TARGET_64BIT && GET_MODE (operands[2]) == DImode)
       || GET_MODE (operands[2]) == SImode
       || GET_MODE (operands[2]) == HImode
       || GET_MODE (operands[2]) == QImode)
   /* Ensure that resulting mask is zero or sign extended operand.  */
   && INTVAL (operands[4]) >= 0
   && ((INTVAL (operands[3]) > 0
	&& INTVAL (operands[3]) + INTVAL (operands[4]) <= 32)
       || (DImode == DImode
	   && INTVAL (operands[3]) > 32
	   && INTVAL (operands[3]) + INTVAL (operands[4]) == 64))) && 
#line 986 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
        return -1;
      return 386; /* *testqi_ext_3 */

    default:
      return -1;
    }
}

static int
recog_46 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  switch (GET_CODE (x3))
    {
    case NEG:
      if (pnum_clobbers == NULL)
        return -1;
      x4 = XEXP (x1, 0);
      if (GET_CODE (x4) != REG
          || REGNO (x4) != 17)
        return -1;
      x5 = XEXP (x3, 0);
      operands[2] = x5;
      x6 = XEXP (x2, 1);
      operands[1] = x6;
      switch (GET_MODE (x3))
        {
        case QImode:
          if (!general_operand (operands[2], QImode)
              || !nonimmediate_operand (operands[1], QImode)
              || !
#line 5942 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCZmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
            return -1;
          *pnum_clobbers = 1;
          return 228; /* *addqi_3 */

        case HImode:
          if (!general_operand (operands[2], HImode)
              || !nonimmediate_operand (operands[1], HImode)
              || !
#line 5942 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCZmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
            return -1;
          *pnum_clobbers = 1;
          return 229; /* *addhi_3 */

        case SImode:
          if (!x86_64_general_operand (operands[2], SImode)
              || !nonimmediate_operand (operands[1], SImode)
              || !
#line 5942 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCZmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
            return -1;
          *pnum_clobbers = 1;
          return 230; /* *addsi_3 */

        case DImode:
          if (!x86_64_general_operand (operands[2], DImode)
              || !nonimmediate_operand (operands[1], DImode)
              || !(
#line 5942 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCZmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          *pnum_clobbers = 1;
          return 231; /* *adddi_3 */

        default:
          return -1;
        }

    case REG:
    case SUBREG:
    case MEM:
      if (pnum_clobbers == NULL)
        return -1;
      operands[1] = x3;
      x4 = XEXP (x1, 0);
      if (GET_CODE (x4) != REG
          || REGNO (x4) != 17)
        return -1;
      x6 = XEXP (x2, 1);
      operands[2] = x6;
      switch (GET_MODE (operands[1]))
        {
        case DImode:
          if (!nonimmediate_operand (operands[1], DImode)
              || !x86_64_immediate_operand (operands[2], DImode)
              || !
#line 6034 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT
   && ix86_match_ccmode (insn, CCGCmode)))
            return -1;
          *pnum_clobbers = 1;
          return 233; /* *adddi_4 */

        case QImode:
          if (!nonimmediate_operand (operands[1], QImode)
              || !const_int_operand (operands[2], QImode)
              || !
#line 6079 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCGCmode)))
            return -1;
          *pnum_clobbers = 1;
          return 234; /* *addqi_4 */

        case HImode:
          if (!nonimmediate_operand (operands[1], HImode)
              || !const_int_operand (operands[2], HImode)
              || !
#line 6079 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCGCmode)))
            return -1;
          *pnum_clobbers = 1;
          return 235; /* *addhi_4 */

        case SImode:
          if (!nonimmediate_operand (operands[1], SImode)
              || !const_int_operand (operands[2], SImode)
              || !
#line 6079 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCGCmode)))
            return -1;
          *pnum_clobbers = 1;
          return 236; /* *addsi_4 */

        default:
          return -1;
        }

    case PLUS:
      if (pnum_clobbers == NULL)
        return -1;
      x4 = XEXP (x1, 0);
      if (GET_CODE (x4) != REG
          || REGNO (x4) != 17)
        return -1;
      x5 = XEXP (x3, 0);
      operands[1] = x5;
      x7 = XEXP (x3, 1);
      operands[2] = x7;
      x6 = XEXP (x2, 1);
      if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + 0])
        {
          switch (pattern36 (x3))
            {
            case 0:
              if (
#line 6118 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCGOCmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
                {
                  *pnum_clobbers = 1;
                  return 237; /* *addqi_5 */
                }
              break;

            case 1:
              if (
#line 6118 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCGOCmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
                {
                  *pnum_clobbers = 1;
                  return 238; /* *addhi_5 */
                }
              break;

            case 2:
              if (
#line 6118 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCGOCmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
                {
                  *pnum_clobbers = 1;
                  return 239; /* *addsi_5 */
                }
              break;

            case 3:
              if ((
#line 6118 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCGOCmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                {
                  *pnum_clobbers = 1;
                  return 240; /* *adddi_5 */
                }
              break;

            default:
              break;
            }
        }
      if (GET_MODE (x4) != CCCmode
          || GET_MODE (x2) != CCCmode
          || !rtx_equal_p (x6, operands[2]))
        return -1;
      switch (pattern36 (x3))
        {
        case 0:
          if (!
#line 6843 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))))
            return -1;
          *pnum_clobbers = 1;
          return 318; /* *addqi3_cconly_overflow_2 */

        case 1:
          if (!
#line 6843 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))))
            return -1;
          *pnum_clobbers = 1;
          return 319; /* *addhi3_cconly_overflow_2 */

        case 2:
          if (!
#line 6843 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))))
            return -1;
          *pnum_clobbers = 1;
          return 320; /* *addsi3_cconly_overflow_2 */

        case 3:
          if (!(
#line 6843 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          *pnum_clobbers = 1;
          return 321; /* *adddi3_cconly_overflow_2 */

        default:
          return -1;
        }

    case AND:
      x6 = XEXP (x2, 1);
      if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x4 = XEXP (x1, 0);
      if (GET_CODE (x4) != REG
          || REGNO (x4) != 17)
        return -1;
      x5 = XEXP (x3, 0);
      switch (GET_CODE (x5))
        {
        case REG:
        case SUBREG:
        case MEM:
          operands[0] = x5;
          x7 = XEXP (x3, 1);
          operands[1] = x7;
          switch (GET_MODE (x3))
            {
            case DImode:
              if (nonimmediate_operand (operands[0], DImode)
                  && x86_64_szext_general_operand (operands[1], DImode)
                  && 
#line 7892 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_match_ccmode (insn, CCNOmode)
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
                return 377; /* *testdi_1 */
              break;

            case QImode:
              if (nonimmediate_operand (operands[0], QImode)
                  && general_operand (operands[1], QImode))
                {
                  if (
#line 7911 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 378; /* *testqi_1_maybe_si */
                  if (
#line 7936 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
                    return 379; /* *testqi_1 */
                }
              break;

            case HImode:
              if (nonimmediate_operand (operands[0], HImode)
                  && general_operand (operands[1], HImode)
                  && 
#line 7936 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
                return 380; /* *testhi_1 */
              break;

            case SImode:
              if (nonimmediate_operand (operands[0], SImode)
                  && x86_64_general_operand (operands[1], SImode)
                  && 
#line 7936 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
                return 381; /* *testsi_1 */
              break;

            default:
              break;
            }
          if (GET_CODE (x5) != SUBREG
              || pattern356 (x3) != 0)
            return -1;
          x8 = XEXP (x5, 0);
          x9 = XEXP (x8, 0);
          operands[0] = x9;
          if (!ext_register_operand (operands[0], VOIDmode))
            return -1;
          operands[1] = x7;
          if (general_operand (operands[1], QImode)
              && 
#line 7965 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)))
            return 382; /* *testqi_ext_1 */
          if (GET_CODE (x7) != SUBREG
              || XINT (x7, 1) != 0
              || GET_MODE (x7) != QImode)
            return -1;
          x10 = XEXP (x7, 0);
          if (GET_CODE (x10) != ZERO_EXTRACT
              || GET_MODE (x10) != SImode)
            return -1;
          x11 = XEXP (x10, 1);
          if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
            return -1;
          x12 = XEXP (x10, 2);
          if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
            return -1;
          x13 = XEXP (x10, 0);
          operands[1] = x13;
          if (!ext_register_operand (operands[1], VOIDmode)
              || !
#line 7984 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)))
            return -1;
          return 383; /* *testqi_ext_2 */

        case NOT:
          if (pnum_clobbers == NULL)
            return -1;
          x8 = XEXP (x5, 0);
          operands[1] = x8;
          x7 = XEXP (x3, 1);
          operands[2] = x7;
          switch (GET_MODE (x3))
            {
            case SImode:
              if (GET_MODE (x5) != SImode
                  || !register_operand (operands[1], SImode)
                  || !nonimmediate_operand (operands[2], SImode)
                  || !
#line 8662 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI && ix86_match_ccmode (insn, CCNOmode)))
                return -1;
              *pnum_clobbers = 1;
              return 409; /* *andn_si_ccno */

            case DImode:
              if (GET_MODE (x5) != DImode
                  || !register_operand (operands[1], DImode)
                  || !nonimmediate_operand (operands[2], DImode)
                  || !(
#line 8662 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI && ix86_match_ccmode (insn, CCNOmode)) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              *pnum_clobbers = 1;
              return 410; /* *andn_di_ccno */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case ZERO_EXTRACT:
      x7 = XEXP (x3, 1);
      if (GET_CODE (x7) != CONST_INT)
        return -1;
      operands[3] = x7;
      if (const_int_operand (operands[3], VOIDmode))
        {
          res = recog_45 (x1, insn, pnum_clobbers);
          if (res >= 0)
            return res;
        }
      if (XWINT (x7, 0) != 1LL)
        return -1;
      x6 = XEXP (x2, 1);
      if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x4 = XEXP (x1, 0);
      if (GET_CODE (x4) != REG
          || REGNO (x4) != 17
          || GET_MODE (x4) != CCCmode
          || GET_MODE (x2) != CCCmode)
        return -1;
      x5 = XEXP (x3, 0);
      operands[0] = x5;
      x14 = XEXP (x3, 2);
      operands[1] = x14;
      if (!nonmemory_operand (operands[1], SImode))
        return -1;
      switch (GET_MODE (x3))
        {
        case SImode:
          if (!register_operand (operands[0], SImode))
            return -1;
          return 602; /* *btsi */

        case DImode:
          if (!register_operand (operands[0], DImode)
              || !
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
            return -1;
          return 603; /* *btdi */

        default:
          return -1;
        }

    case IOR:
      switch (pattern37 (x1, pnum_clobbers))
        {
        case 0:
          if (!
#line 8849 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
            return -1;
          *pnum_clobbers = 1;
          return 441; /* *iorqi_3 */

        case 1:
          if (!
#line 8849 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
            return -1;
          *pnum_clobbers = 1;
          return 443; /* *iorhi_3 */

        case 2:
          if (!
#line 8849 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
            return -1;
          *pnum_clobbers = 1;
          return 445; /* *iorsi_3 */

        case 3:
          if (!(
#line 8849 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          *pnum_clobbers = 1;
          return 447; /* *iordi_3 */

        default:
          return -1;
        }

    case XOR:
      switch (pattern37 (x1, pnum_clobbers))
        {
        case 0:
          if (!
#line 8849 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
            return -1;
          *pnum_clobbers = 1;
          return 442; /* *xorqi_3 */

        case 1:
          if (!
#line 8849 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
            return -1;
          *pnum_clobbers = 1;
          return 444; /* *xorhi_3 */

        case 2:
          if (!
#line 8849 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
            return -1;
          *pnum_clobbers = 1;
          return 446; /* *xorsi_3 */

        case 3:
          if (!(
#line 8849 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          *pnum_clobbers = 1;
          return 448; /* *xordi_3 */

        default:
          return -1;
        }

    case ASHIFT:
      switch (pattern38 (x1, pnum_clobbers))
        {
        case 0:
          if (!
#line 10090 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
          *pnum_clobbers = 1;
          return 523; /* *ashlqi3_cconly */

        case 1:
          if (!
#line 10090 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
          *pnum_clobbers = 1;
          return 524; /* *ashlhi3_cconly */

        case 2:
          if (!
#line 10090 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
          *pnum_clobbers = 1;
          return 525; /* *ashlsi3_cconly */

        case 3:
          if (!(
#line 10090 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          *pnum_clobbers = 1;
          return 526; /* *ashldi3_cconly */

        default:
          return -1;
        }

    case LSHIFTRT:
      switch (pattern38 (x1, pnum_clobbers))
        {
        case 0:
          if (!
#line 10535 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
          *pnum_clobbers = 1;
          return 568; /* *lshrqi3_cconly */

        case 1:
          if (!
#line 10535 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
          *pnum_clobbers = 1;
          return 570; /* *lshrhi3_cconly */

        case 2:
          if (!
#line 10535 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
          *pnum_clobbers = 1;
          return 572; /* *lshrsi3_cconly */

        case 3:
          if (!(
#line 10535 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          *pnum_clobbers = 1;
          return 574; /* *lshrdi3_cconly */

        default:
          return -1;
        }

    case ASHIFTRT:
      switch (pattern38 (x1, pnum_clobbers))
        {
        case 0:
          if (!
#line 10535 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
          *pnum_clobbers = 1;
          return 569; /* *ashrqi3_cconly */

        case 1:
          if (!
#line 10535 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
          *pnum_clobbers = 1;
          return 571; /* *ashrhi3_cconly */

        case 2:
          if (!
#line 10535 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
          *pnum_clobbers = 1;
          return 573; /* *ashrsi3_cconly */

        case 3:
          if (!(
#line 10535 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          *pnum_clobbers = 1;
          return 575; /* *ashrdi3_cconly */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_47 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case ASHIFT:
      x5 = XEXP (x4, 0);
      switch (GET_CODE (x5))
        {
        case REG:
        case SUBREG:
        case MEM:
          x6 = XEXP (x4, 1);
          operands[2] = x6;
          x7 = XEXP (x3, 1);
          switch (GET_CODE (x7))
            {
            case CONST_INT:
              operands[3] = x7;
              if (!const_int_operand (operands[3], VOIDmode))
                return -1;
              operands[1] = x5;
              if (!const_0_to_3_operand (operands[2], VOIDmode))
                return -1;
              switch (GET_MODE (operands[0]))
                {
                case SImode:
                  if (pattern62 (x3, SImode) != 0
                      || !
#line 6447 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((unsigned HOST_WIDE_INT) INTVAL (operands[3])
   < (HOST_WIDE_INT_1U << INTVAL (operands[2]))))
                    return -1;
                  return 265; /* *leasi_general_4 */

                case DImode:
                  if (pattern62 (x3, DImode) != 0
                      || !(
#line 6447 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((unsigned HOST_WIDE_INT) INTVAL (operands[3])
   < (HOST_WIDE_INT_1U << INTVAL (operands[2]))) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                    return -1;
                  return 267; /* *leadi_general_4 */

                default:
                  return -1;
                }

            case LSHIFTRT:
              if (pnum_clobbers == NULL)
                return -1;
              x8 = XEXP (x7, 1);
              if (GET_CODE (x8) != MINUS
                  || GET_MODE (x8) != QImode)
                return -1;
              x9 = XEXP (x8, 0);
              if (GET_CODE (x9) != CONST_INT)
                return -1;
              switch (pattern471 (x3))
                {
                case 0:
                  if (!
#line 9566 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
                    return -1;
                  *pnum_clobbers = 1;
                  return 505; /* x86_64_shld */

                case 1:
                  *pnum_clobbers = 1;
                  return 506; /* x86_shld */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case ZERO_EXTEND:
          x6 = XEXP (x4, 1);
          if (GET_CODE (x6) != CONST_INT)
            return -1;
          x7 = XEXP (x3, 1);
          if (GET_CODE (x7) != ZERO_EXTEND)
            return -1;
          x10 = XEXP (x5, 0);
          operands[1] = x10;
          x11 = XEXP (x7, 0);
          operands[2] = x11;
          switch (XWINT (x6, 0))
            {
            case 16LL:
              if (pattern469 (x3, HImode, SImode) != 0
                  || !
#line 1481 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
                return -1;
              return 1341; /* kunpcksi */

            case 32LL:
              if (pattern469 (x3, SImode, DImode) != 0
                  || !
#line 1492 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
                return -1;
              return 1342; /* kunpckdi */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case REG:
    case SUBREG:
    case MEM:
      if (pnum_clobbers == NULL)
        return -1;
      switch (pattern154 (x3))
        {
        case 0:
          if (x86_64_szext_general_operand (operands[2], DImode)
              && 
#line 8686 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_STV && TARGET_SSE2
   && ix86_binary_operator_ok (IOR, DImode, operands)))
            {
              *pnum_clobbers = 1;
              return 411; /* *iordi3_doubleword */
            }
          if (!x86_64_general_operand (operands[2], DImode)
              || !(
#line 8728 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (IOR, DImode, operands)) && 
#line 986 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          *pnum_clobbers = 1;
          return 417; /* *iordi_1 */

        case 1:
          if (!
#line 8728 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (IOR, SImode, operands)))
            return -1;
          *pnum_clobbers = 1;
          return 415; /* *iorsi_1 */

        default:
          return -1;
        }

    case ZERO_EXTEND:
      if (pattern71 (x3, pnum_clobbers) != 0
          || !
#line 8751 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (IOR, SImode, operands)))
        return -1;
      *pnum_clobbers = 1;
      return 421; /* *iorsi_1_zext_imm */

    case LSHIFTRT:
      if (pnum_clobbers == NULL)
        return -1;
      x7 = XEXP (x3, 1);
      if (GET_CODE (x7) != ASHIFT)
        return -1;
      x8 = XEXP (x7, 1);
      if (GET_CODE (x8) != MINUS
          || GET_MODE (x8) != QImode)
        return -1;
      x9 = XEXP (x8, 0);
      if (GET_CODE (x9) != CONST_INT)
        return -1;
      x6 = XEXP (x4, 1);
      operands[2] = x6;
      switch (pattern471 (x3))
        {
        case 0:
          if (!
#line 10197 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
            return -1;
          *pnum_clobbers = 1;
          return 535; /* x86_64_shrd */

        case 1:
          *pnum_clobbers = 1;
          return 536; /* x86_shrd */

        default:
          return -1;
        }

    case NOT:
      if (pnum_clobbers == NULL)
        return -1;
      x5 = XEXP (x4, 0);
      if (GET_CODE (x5) != PLUS)
        return -1;
      x12 = XEXP (x5, 1);
      if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
        return -1;
      x10 = XEXP (x5, 0);
      operands[1] = x10;
      x7 = XEXP (x3, 1);
      if (!rtx_equal_p (x7, operands[1]))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case SImode:
          if (pattern472 (x3, SImode) != 0
              || !
#line 13147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_TBM))
            return -1;
          *pnum_clobbers = 1;
          return 748; /* *tbm_blci_si */

        case DImode:
          if (pattern472 (x3, DImode) != 0
              || !(
#line 13147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_TBM) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          *pnum_clobbers = 1;
          return 749; /* *tbm_blci_di */

        default:
          return -1;
        }

    case PLUS:
      if (pnum_clobbers == NULL)
        return -1;
      x6 = XEXP (x4, 1);
      if (GET_CODE (x6) != CONST_INT)
        return -1;
      x5 = XEXP (x4, 0);
      operands[1] = x5;
      switch (XWINT (x6, 0))
        {
        case 1LL:
          switch (pattern359 (x3))
            {
            case 0:
              if (!
#line 13187 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_TBM))
                return -1;
              *pnum_clobbers = 1;
              return 754; /* *tbm_blcs_si */

            case 1:
              if (!(
#line 13187 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_TBM) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              *pnum_clobbers = 1;
              return 755; /* *tbm_blcs_di */

            case 2:
              if (!
#line 13228 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_TBM))
                return -1;
              *pnum_clobbers = 1;
              return 760; /* *tbm_t1mskc_si */

            case 3:
              if (!(
#line 13228 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_TBM) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              *pnum_clobbers = 1;
              return 761; /* *tbm_t1mskc_di */

            default:
              return -1;
            }

        case -1LL:
          switch (pattern359 (x3))
            {
            case 0:
              if (!
#line 13200 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_TBM))
                return -1;
              *pnum_clobbers = 1;
              return 756; /* *tbm_blsfill_si */

            case 1:
              if (!(
#line 13200 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_TBM) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              *pnum_clobbers = 1;
              return 757; /* *tbm_blsfill_di */

            case 2:
              if (!
#line 13214 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_TBM))
                return -1;
              *pnum_clobbers = 1;
              return 758; /* *tbm_blsic_si */

            case 3:
              if (!(
#line 13214 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_TBM) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              *pnum_clobbers = 1;
              return 759; /* *tbm_blsic_di */

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_48 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case ASHIFT:
      switch (pattern72 (x3))
        {
        case 0:
          if (!
#line 6447 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((unsigned HOST_WIDE_INT) INTVAL (operands[3])
   < (HOST_WIDE_INT_1U << INTVAL (operands[2]))))
            return -1;
          return 266; /* *leasi_general_4 */

        case 1:
          if (!(
#line 6447 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((unsigned HOST_WIDE_INT) INTVAL (operands[3])
   < (HOST_WIDE_INT_1U << INTVAL (operands[2]))) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          return 268; /* *leadi_general_4 */

        default:
          return -1;
        }

    case REG:
    case SUBREG:
    case MEM:
      if (pnum_clobbers == NULL)
        return -1;
      switch (pattern154 (x3))
        {
        case 0:
          if (x86_64_szext_general_operand (operands[2], DImode)
              && 
#line 8686 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_STV && TARGET_SSE2
   && ix86_binary_operator_ok (XOR, DImode, operands)))
            {
              *pnum_clobbers = 1;
              return 412; /* *xordi3_doubleword */
            }
          if (!x86_64_general_operand (operands[2], DImode)
              || !(
#line 8728 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (XOR, DImode, operands)) && 
#line 986 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          *pnum_clobbers = 1;
          return 418; /* *xordi_1 */

        case 1:
          if (!
#line 8728 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (XOR, SImode, operands)))
            return -1;
          *pnum_clobbers = 1;
          return 416; /* *xorsi_1 */

        default:
          return -1;
        }

    case ZERO_EXTEND:
      if (pattern71 (x3, pnum_clobbers) != 0
          || !
#line 8751 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (XOR, SImode, operands)))
        return -1;
      *pnum_clobbers = 1;
      return 422; /* *xorsi_1_zext_imm */

    case PLUS:
      if (pnum_clobbers == NULL)
        return -1;
      x5 = XEXP (x4, 1);
      if (GET_CODE (x5) != CONST_INT)
        return -1;
      x6 = XEXP (x4, 0);
      operands[1] = x6;
      x7 = XEXP (x3, 1);
      if (!rtx_equal_p (x7, operands[1]))
        return -1;
      switch (XWINT (x5, 0))
        {
        case -1LL:
          switch (GET_MODE (operands[0]))
            {
            case SImode:
              if (pattern357 (x3, SImode) != 0
                  || !
#line 13002 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI))
                return -1;
              *pnum_clobbers = 1;
              return 730; /* *bmi_blsmsk_si */

            case DImode:
              if (pattern357 (x3, DImode) != 0
                  || !(
#line 13002 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              *pnum_clobbers = 1;
              return 731; /* *bmi_blsmsk_di */

            default:
              return -1;
            }

        case 1LL:
          switch (GET_MODE (operands[0]))
            {
            case SImode:
              if (pattern357 (x3, SImode) != 0
                  || !
#line 13174 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_TBM))
                return -1;
              *pnum_clobbers = 1;
              return 752; /* *tbm_blcmsk_si */

            case DImode:
              if (pattern357 (x3, DImode) != 0
                  || !(
#line 13174 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_TBM) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              *pnum_clobbers = 1;
              return 753; /* *tbm_blcmsk_di */

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_49 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10;
  int res ATTRIBUTE_UNUSED;
  if (pnum_clobbers == NULL)
    return -1;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
    case MEM:
      switch (pattern154 (x3))
        {
        case 0:
          if (x86_64_hilo_general_operand (operands[2], DImode)
              && (
#line 6475 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (MINUS, SImode, operands)) && 
#line 1041 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT)))
            {
              *pnum_clobbers = 1;
              return 269; /* *subdi3_doubleword */
            }
          if (!x86_64_general_operand (operands[2], DImode)
              || !(
#line 6504 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (MINUS, DImode, operands)) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          *pnum_clobbers = 1;
          return 274; /* *subdi_1 */

        case 1:
          if (!
#line 6504 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (MINUS, SImode, operands)))
            return -1;
          *pnum_clobbers = 1;
          return 273; /* *subsi_1 */

        default:
          return -1;
        }

    case MINUS:
      x5 = XEXP (x4, 1);
      switch (GET_CODE (x5))
        {
        case GE:
        case GT:
        case LE:
        case LT:
        case GTU:
        case LTU:
        case UNEQ:
        case UNGE:
        case UNGT:
        case UNLE:
        case UNLT:
        case LTGT:
          operands[4] = x5;
          x6 = XEXP (x5, 1);
          if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x7 = XEXP (x4, 0);
          operands[1] = x7;
          x8 = XEXP (x5, 0);
          operands[3] = x8;
          if (!flags_reg_operand (operands[3], VOIDmode))
            return -1;
          x9 = XEXP (x3, 1);
          operands[2] = x9;
          switch (GET_MODE (operands[0]))
            {
            case SImode:
              if (pattern592 (x3, SImode) != 0
                  || !
#line 6737 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (MINUS, SImode, operands)))
                return -1;
              *pnum_clobbers = 1;
              return 304; /* subsi3_carry */

            case DImode:
              if (pattern592 (x3, DImode) != 0
                  || !(
#line 6737 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (MINUS, DImode, operands)) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              *pnum_clobbers = 1;
              return 305; /* subdi3_carry */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case CONST_INT:
      x9 = XEXP (x3, 1);
      if (GET_CODE (x9) != CLZ)
        return -1;
      x10 = XEXP (x9, 0);
      operands[1] = x10;
      switch (XWINT (x4, 0))
        {
        case 63LL:
          if (pattern360 (x3, DImode) != 0
              || !
#line 12801 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
            return -1;
          *pnum_clobbers = 1;
          return 707; /* bsr_rex64 */

        case 31LL:
          if (pattern360 (x3, SImode) != 0)
            return -1;
          *pnum_clobbers = 1;
          return 708; /* bsr */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_50 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  if (pnum_clobbers == NULL)
    return -1;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
    case MEM:
      operands[1] = x4;
      x5 = XEXP (x3, 1);
      operands[2] = x5;
      switch (GET_MODE (operands[0]))
        {
        case SImode:
          if (pattern361 (x3, SImode) != 0
              || !
#line 6936 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))))
            return -1;
          *pnum_clobbers = 1;
          return 328; /* *mulsi3_1 */

        case DImode:
          if (pattern361 (x3, DImode) != 0
              || !(
#line 6936 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
#line 1013 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          *pnum_clobbers = 1;
          return 329; /* *muldi3_1 */

        default:
          return -1;
        }

    case ZERO_EXTEND:
      if (pattern155 (x3, ZERO_EXTEND) != 0
          || !(
#line 7282 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
#line 1041 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT)))
        return -1;
      *pnum_clobbers = 1;
      return 345; /* *umulsidi3_1 */

    case SIGN_EXTEND:
      if (pattern155 (x3, SIGN_EXTEND) != 0
          || !(
#line 7333 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
#line 1041 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT)))
        return -1;
      *pnum_clobbers = 1;
      return 347; /* *mulsidi3_1 */

    default:
      return -1;
    }
}

static int
recog_51 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  if (pnum_clobbers == NULL)
    return -1;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != LSHIFTRT)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != MULT)
    return -1;
  x5 = XEXP (x3, 1);
  if (GET_CODE (x5) != CONST_INT)
    return -1;
  x6 = XEXP (x1, 0);
  operands[0] = x6;
  x7 = XEXP (x4, 0);
  switch (GET_CODE (x7))
    {
    case SIGN_EXTEND:
      switch (pattern363 (x2, SIGN_EXTEND))
        {
        case 0:
          if (!
#line 7393 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
            return -1;
          *pnum_clobbers = 2;
          return 351; /* *smuldi3_highpart_1 */

        case 1:
          if (!
#line 7442 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))))
            return -1;
          *pnum_clobbers = 2;
          return 355; /* *smulsi3_highpart_1 */

        default:
          return -1;
        }

    case ZERO_EXTEND:
      switch (pattern363 (x2, ZERO_EXTEND))
        {
        case 0:
          if (!
#line 7393 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
            return -1;
          *pnum_clobbers = 2;
          return 352; /* *umuldi3_highpart_1 */

        case 1:
          if (!
#line 7442 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))))
            return -1;
          *pnum_clobbers = 2;
          return 356; /* *umulsi3_highpart_1 */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_52 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
    case MEM:
      if (pnum_clobbers == NULL)
        return -1;
      switch (pattern154 (x3))
        {
        case 0:
          if (!x86_64_szext_general_operand (operands[2], DImode))
            return -1;
          if (
#line 8155 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_STV && TARGET_SSE2
   && ix86_binary_operator_ok (AND, DImode, operands)))
            {
              *pnum_clobbers = 1;
              return 387; /* *anddi3_doubleword */
            }
          if (!
#line 8187 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (AND, DImode, operands)))
            return -1;
          *pnum_clobbers = 1;
          return 388; /* *anddi_1 */

        case 1:
          if (!
#line 8233 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (AND, SImode, operands)))
            return -1;
          *pnum_clobbers = 1;
          return 391; /* *andsi_1 */

        default:
          return -1;
        }

    case NOT:
      if (pnum_clobbers == NULL)
        return -1;
      x5 = XEXP (x4, 0);
      operands[1] = x5;
      x6 = XEXP (x3, 1);
      operands[2] = x6;
      switch (GET_MODE (operands[0]))
        {
        case DImode:
          if (pattern290 (x3, DImode) != 0)
            return -1;
          if (
#line 8592 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_STV && TARGET_SSE2))
            {
              *pnum_clobbers = 1;
              return 404; /* *andndi3_doubleword */
            }
          if (!(
#line 8636 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          *pnum_clobbers = 1;
          return 406; /* *andndi_1 */

        case SImode:
          if (pattern290 (x3, SImode) != 0
              || !
#line 8636 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI))
            return -1;
          *pnum_clobbers = 1;
          return 405; /* *andnsi_1 */

        default:
          return -1;
        }

    case NEG:
      if (pnum_clobbers == NULL)
        return -1;
      x5 = XEXP (x4, 0);
      operands[1] = x5;
      x6 = XEXP (x3, 1);
      if (!rtx_equal_p (x6, operands[1]))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case SImode:
          if (pattern357 (x3, SImode) != 0
              || !
#line 12988 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI))
            return -1;
          *pnum_clobbers = 1;
          return 728; /* *bmi_blsi_si */

        case DImode:
          if (pattern357 (x3, DImode) != 0
              || !(
#line 12988 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          *pnum_clobbers = 1;
          return 729; /* *bmi_blsi_di */

        default:
          return -1;
        }

    case PLUS:
      if (pnum_clobbers == NULL)
        return -1;
      x7 = XEXP (x4, 1);
      if (GET_CODE (x7) != CONST_INT)
        return -1;
      x5 = XEXP (x4, 0);
      operands[1] = x5;
      switch (XWINT (x7, 0))
        {
        case -1LL:
          switch (pattern359 (x3))
            {
            case 0:
              if (!
#line 13016 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI))
                return -1;
              *pnum_clobbers = 1;
              return 732; /* *bmi_blsr_si */

            case 1:
              if (!(
#line 13016 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              *pnum_clobbers = 1;
              return 733; /* *bmi_blsr_di */

            case 2:
              if (!
#line 13242 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_TBM))
                return -1;
              *pnum_clobbers = 1;
              return 762; /* *tbm_tzmsk_si */

            case 3:
              if (!(
#line 13242 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_TBM) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              *pnum_clobbers = 1;
              return 763; /* *tbm_tzmsk_di */

            default:
              return -1;
            }

        case 1LL:
          switch (pattern359 (x3))
            {
            case 0:
              if (!
#line 13133 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_TBM))
                return -1;
              *pnum_clobbers = 1;
              return 746; /* *tbm_blcfill_si */

            case 1:
              if (!(
#line 13133 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_TBM) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              *pnum_clobbers = 1;
              return 747; /* *tbm_blcfill_di */

            case 2:
              if (!
#line 13161 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_TBM))
                return -1;
              *pnum_clobbers = 1;
              return 750; /* *tbm_blcic_si */

            case 3:
              if (!(
#line 13161 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_TBM) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              *pnum_clobbers = 1;
              return 751; /* *tbm_blcic_di */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case UNSPEC:
      switch (XVECLEN (x4, 0))
        {
        case 3:
          x8 = XVECEXP (x4, 0, 0);
          operands[1] = x8;
          x9 = XVECEXP (x4, 0, 1);
          operands[2] = x9;
          x10 = XVECEXP (x4, 0, 2);
          operands[3] = x10;
          if (!const_0_to_7_operand (operands[3], SImode))
            return -1;
          x6 = XEXP (x3, 1);
          operands[4] = x6;
          switch (XINT (x4, 1))
            {
            case 136:
              switch (pattern516 (x3))
                {
                case 0:
                  if (!(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 2602 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
                    return -1;
                  return 1672; /* avx512bw_cmpv64qi3_mask */

                case 1:
                  if (!(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 2602 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 1676; /* avx512vl_cmpv32qi3_mask */

                case 2:
                  if (!(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 2602 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
                    return -1;
                  return 1678; /* avx512bw_cmpv32hi3_mask */

                default:
                  return -1;
                }

            case 152:
              switch (pattern516 (x3))
                {
                case 0:
                  if (!(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 2616 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
                    return -1;
                  return 1684; /* avx512bw_ucmpv64qi3_mask */

                case 1:
                  if (!(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 2616 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 1688; /* avx512vl_ucmpv32qi3_mask */

                case 2:
                  if (!(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 2616 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
                    return -1;
                  return 1690; /* avx512bw_ucmpv32hi3_mask */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case 2:
          x8 = XVECEXP (x4, 0, 0);
          operands[1] = x8;
          x9 = XVECEXP (x4, 0, 1);
          operands[2] = x9;
          x6 = XEXP (x3, 1);
          operands[3] = x6;
          switch (XINT (x4, 1))
            {
            case 168:
              switch (pattern404 (x3))
                {
                case 0:
                  if (!(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 11146 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (EQ, V64QImode, operands))))
                    return -1;
                  return 3337; /* avx512bw_eqv64qi3_mask_1 */

                case 1:
                  if (!(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11146 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (EQ, V32QImode, operands)) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 3341; /* avx512vl_eqv32qi3_mask_1 */

                case 2:
                  if (!(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 11146 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (EQ, V32HImode, operands))))
                    return -1;
                  return 3343; /* avx512bw_eqv32hi3_mask_1 */

                default:
                  return -1;
                }

            case 169:
              switch (pattern404 (x3))
                {
                case 0:
                  if (!(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 11259 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
                    return -1;
                  return 3382; /* avx512bw_gtv64qi3_mask */

                case 1:
                  if (!(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11259 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 3386; /* avx512vl_gtv32qi3_mask */

                case 2:
                  if (!(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 11259 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
                    return -1;
                  return 3388; /* avx512bw_gtv32hi3_mask */

                default:
                  return -1;
                }

            case 153:
              switch (pattern404 (x3))
                {
                case 0:
                  if (!(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 11849 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
                    return -1;
                  return 3487; /* avx512bw_testmv64qi3_mask */

                case 1:
                  if (!(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11849 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 3491; /* avx512vl_testmv32qi3_mask */

                case 2:
                  if (!(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 11849 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
                    return -1;
                  return 3493; /* avx512bw_testmv32hi3_mask */

                default:
                  return -1;
                }

            case 154:
              switch (pattern404 (x3))
                {
                case 0:
                  if (!(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 11871 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
                    return -1;
                  return 3511; /* avx512bw_testnmv64qi3_mask */

                case 1:
                  if (!(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11871 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 3515; /* avx512vl_testnmv32qi3_mask */

                case 2:
                  if (!(
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 11871 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
                    return -1;
                  return 3517; /* avx512bw_testnmv32hi3_mask */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_53 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  if (pnum_clobbers == NULL)
    return -1;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  switch (GET_CODE (operands[1]))
    {
    case REG:
    case SUBREG:
    case MEM:
      switch (pattern73 (x3))
        {
        case 0:
          if ((
#line 9012 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_unary_operator_ok (NEG, DImode, operands)) && 
#line 1041 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT)))
            {
              *pnum_clobbers = 1;
              return 454; /* *negdi2_doubleword */
            }
          if (!(
#line 9035 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_unary_operator_ok (NEG, DImode, operands)) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          *pnum_clobbers = 1;
          return 459; /* *negdi2_1 */

        case 1:
          if (!
#line 9035 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_unary_operator_ok (NEG, SImode, operands)))
            return -1;
          *pnum_clobbers = 1;
          return 458; /* *negsi2_1 */

        default:
          return -1;
        }

    case GE:
    case GT:
    case LE:
    case LT:
    case GTU:
    case LTU:
    case UNEQ:
    case UNGE:
    case UNGT:
    case UNLE:
    case UNLT:
    case LTGT:
      if (!ix86_carry_flag_operator (operands[1], VOIDmode))
        return -1;
      x5 = XEXP (x4, 0);
      if (GET_CODE (x5) != REG
          || REGNO (x5) != 17)
        return -1;
      x6 = XEXP (x4, 1);
      if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      switch (pattern39 (x3))
        {
        case 0:
          *pnum_clobbers = 1;
          return 961; /* *x86_movsicc_0_m1_neg */

        case 1:
          if (!
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
            return -1;
          *pnum_clobbers = 1;
          return 962; /* *x86_movdicc_0_m1_neg */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_54 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case NEG:
      if (pnum_clobbers == NULL
          || GET_MODE (x4) != DImode)
        return -1;
      x5 = XEXP (x4, 0);
      if (GET_CODE (x5) != ASHIFT
          || GET_MODE (x5) != DImode)
        return -1;
      x6 = XEXP (x5, 1);
      if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 32])
        return -1;
      x7 = XEXP (x3, 1);
      if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 32]
          || !register_operand (operands[0], DImode)
          || GET_MODE (x3) != DImode)
        return -1;
      x8 = XEXP (x5, 0);
      operands[1] = x8;
      if (!register_operand (operands[1], DImode)
          || !
#line 9048 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_unary_operator_ok (NEG, SImode, operands)))
        return -1;
      *pnum_clobbers = 1;
      return 460; /* *negsi2_1_zext */

    case REG:
    case SUBREG:
    case MEM:
      if (pnum_clobbers != NULL)
        {
          operands[1] = x4;
          x7 = XEXP (x3, 1);
          if (GET_CODE (x7) == SUBREG)
            {
              switch (pattern213 (x3))
                {
                case 0:
                  if (
#line 10148 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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
   && can_create_pseudo_p ()))
                    {
                      *pnum_clobbers = 1;
                      return 527; /* *lshrsi3_mask */
                    }
                  break;

                case 1:
                  if ((
#line 10148 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
   && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
      == GET_MODE_BITSIZE (DImode)-1
   && can_create_pseudo_p ()) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                    {
                      *pnum_clobbers = 1;
                      return 529; /* *lshrdi3_mask */
                    }
                  break;

                default:
                  break;
                }
            }
        }
      operands[1] = x4;
      if (nonimmediate_operand (operands[1], SImode)
          && register_operand (operands[0], SImode)
          && GET_MODE (x3) == SImode)
        {
          x7 = XEXP (x3, 1);
          operands[2] = x7;
          if (register_operand (operands[2], SImode)
              && 
#line 10308 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI2))
            return 540; /* *bmi2_lshrsi3_1 */
        }
      x7 = XEXP (x3, 1);
      operands[2] = x7;
      switch (GET_MODE (operands[0]))
        {
        case DImode:
          if (GET_MODE (x3) != DImode)
            return -1;
          if (register_operand (operands[0], DImode))
            {
              if (pnum_clobbers != NULL
                  && register_operand (operands[1], DImode)
                  && nonmemory_operand (operands[2], QImode)
                  && 
#line 1016 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT))
                {
                  *pnum_clobbers = 1;
                  return 531; /* *lshrdi3_doubleword */
                }
              if (nonimmediate_operand (operands[1], DImode)
                  && register_operand (operands[2], DImode)
                  && (
#line 10308 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI2) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return 542; /* *bmi2_lshrdi3_1 */
            }
          if (pnum_clobbers == NULL
              || !nonimmediate_operand (operands[0], DImode)
              || !nonimmediate_operand (operands[1], DImode)
              || !nonmemory_operand (operands[2], QImode)
              || !(
#line 10319 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (LSHIFTRT, DImode, operands)) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          *pnum_clobbers = 1;
          return 546; /* *lshrdi3_1 */

        case SImode:
          if (pnum_clobbers == NULL
              || pattern3 (x3, SImode) != 0
              || !
#line 10319 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (LSHIFTRT, SImode, operands)))
            return -1;
          *pnum_clobbers = 1;
          return 544; /* *lshrsi3_1 */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_55 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  x5 = XEXP (x3, 1);
  operands[2] = x5;
  switch (pattern156 (x3))
    {
    case 0:
      if (pnum_clobbers != NULL
          && reg_or_pm1_operand (operands[1], DImode)
          && nonmemory_operand (operands[2], QImode)
          && 
#line 1016 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT))
        {
          *pnum_clobbers = 1;
          return 503; /* *ashldi3_doubleword */
        }
      if (nonimmediate_operand (operands[1], DImode)
          && register_operand (operands[2], DImode)
          && (
#line 9665 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI2) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
        return 510; /* *bmi2_ashldi3_1 */
      break;

    case 1:
      if (register_operand (operands[2], SImode)
          && 
#line 9665 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI2))
        return 509; /* *bmi2_ashlsi3_1 */
      break;

    default:
      break;
    }
  if (pnum_clobbers == NULL)
    return -1;
  if (GET_CODE (x5) == SUBREG)
    {
      switch (pattern213 (x3))
        {
        case 0:
          if (
#line 9647 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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
   && can_create_pseudo_p ()))
            {
              *pnum_clobbers = 1;
              return 507; /* *ashlsi3_mask */
            }
          break;

        case 1:
          if ((
#line 9647 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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
   && can_create_pseudo_p ()) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            {
              *pnum_clobbers = 1;
              return 508; /* *ashldi3_mask */
            }
          break;

        default:
          break;
        }
    }
  operands[2] = x5;
  if (!nonmemory_operand (operands[2], QImode))
    return -1;
  switch (pattern212 (x3))
    {
    case 0:
      if (!
#line 9675 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ASHIFT, SImode, operands)))
        return -1;
      *pnum_clobbers = 1;
      return 511; /* *ashlsi3_1 */

    case 1:
      if (!(
#line 9675 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ASHIFT, DImode, operands)) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
        return -1;
      *pnum_clobbers = 1;
      return 512; /* *ashldi3_1 */

    default:
      return -1;
    }
}

static int
recog_56 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  x5 = XEXP (x3, 1);
  switch (GET_CODE (x5))
    {
    case REG:
    case SUBREG:
      if (pnum_clobbers != NULL
          && GET_CODE (x5) == SUBREG)
        {
          switch (pattern213 (x3))
            {
            case 0:
              if (
#line 10148 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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
   && can_create_pseudo_p ()))
                {
                  *pnum_clobbers = 1;
                  return 528; /* *ashrsi3_mask */
                }
              break;

            case 1:
              if ((
#line 10148 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ASHIFTRT, DImode, operands)
   && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
      == GET_MODE_BITSIZE (DImode)-1
   && can_create_pseudo_p ()) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                {
                  *pnum_clobbers = 1;
                  return 530; /* *ashrdi3_mask */
                }
              break;

            default:
              break;
            }
        }
      operands[2] = x5;
      if (register_operand (operands[2], SImode)
          && register_operand (operands[0], SImode)
          && GET_MODE (x3) == SImode
          && nonimmediate_operand (operands[1], SImode)
          && 
#line 10308 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI2))
        return 541; /* *bmi2_ashrsi3_1 */
      break;

    case CONST_INT:
      if (pnum_clobbers != NULL)
        {
          operands[2] = x5;
          if (const_int_operand (operands[2], QImode)
              && nonimmediate_operand (operands[0], SImode)
              && GET_MODE (x3) == SImode
              && nonimmediate_operand (operands[1], SImode)
              && 
#line 10263 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 = 1;
              return 539; /* ashrsi3_cvt */
            }
        }
      break;

    default:
      break;
    }
  operands[2] = x5;
  switch (GET_MODE (operands[0]))
    {
    case DImode:
      if (pnum_clobbers != NULL
          && GET_MODE (x3) == DImode)
        {
          if (register_operand (operands[0], DImode)
              && register_operand (operands[1], DImode)
              && nonmemory_operand (operands[2], QImode)
              && 
#line 1016 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT))
            {
              *pnum_clobbers = 1;
              return 532; /* *ashrdi3_doubleword */
            }
          if (nonimmediate_operand (operands[0], DImode)
              && nonimmediate_operand (operands[1], DImode)
              && const_int_operand (operands[2], QImode)
              && 
#line 10228 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 = 1;
              return 537; /* ashrdi3_cvt */
            }
        }
      if (GET_MODE (x3) != DImode
          || !nonimmediate_operand (operands[1], DImode))
        return -1;
      if (register_operand (operands[0], DImode)
          && register_operand (operands[2], DImode)
          && (
#line 10308 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI2) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
        return 543; /* *bmi2_ashrdi3_1 */
      if (pnum_clobbers == NULL
          || !nonimmediate_operand (operands[0], DImode)
          || !nonmemory_operand (operands[2], QImode)
          || !(
#line 10319 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ASHIFTRT, DImode, operands)) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
        return -1;
      *pnum_clobbers = 1;
      return 547; /* *ashrdi3_1 */

    case SImode:
      if (pnum_clobbers == NULL
          || pattern3 (x3, SImode) != 0
          || !
#line 10319 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ASHIFTRT, SImode, operands)))
        return -1;
      *pnum_clobbers = 1;
      return 545; /* *ashrsi3_1 */

    default:
      return -1;
    }
}

static int
recog_57 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  if (pnum_clobbers == NULL)
    return -1;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  x5 = XEXP (x3, 1);
  switch (GET_CODE (x5))
    {
    case SUBREG:
      switch (pattern213 (x3))
        {
        case 0:
          if (
#line 10608 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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
   && can_create_pseudo_p ()))
            {
              *pnum_clobbers = 1;
              return 576; /* *rotlsi3_mask */
            }
          break;

        case 1:
          if ((
#line 10608 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ROTATE, DImode, operands)
   && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
      == GET_MODE_BITSIZE (DImode)-1
   && can_create_pseudo_p ()) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            {
              *pnum_clobbers = 1;
              return 578; /* *rotldi3_mask */
            }
          break;

        default:
          break;
        }
      break;

    case CONST_INT:
      operands[2] = x5;
      if (const_1_to_31_operand (operands[2], QImode)
          && register_operand (operands[0], DImode)
          && GET_MODE (x3) == DImode
          && register_operand (operands[1], DImode)
          && 
#line 1041 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT))
        {
          *pnum_clobbers = 2;
          return 580; /* ix86_rotldi3_doubleword */
        }
      break;

    default:
      break;
    }
  operands[2] = x5;
  if (!nonmemory_operand (operands[2], QImode))
    return -1;
  switch (pattern212 (x3))
    {
    case 0:
      if (!
#line 10700 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ROTATE, SImode, operands)))
        return -1;
      *pnum_clobbers = 1;
      return 586; /* *rotlsi3_1 */

    case 1:
      if (!(
#line 10700 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ROTATE, DImode, operands)) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
        return -1;
      *pnum_clobbers = 1;
      return 588; /* *rotldi3_1 */

    default:
      return -1;
    }
}

static int
recog_58 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  x5 = XEXP (x3, 1);
  switch (GET_CODE (x5))
    {
    case SUBREG:
      if (pnum_clobbers != NULL)
        {
          switch (pattern213 (x3))
            {
            case 0:
              if (
#line 10608 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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
   && can_create_pseudo_p ()))
                {
                  *pnum_clobbers = 1;
                  return 577; /* *rotrsi3_mask */
                }
              break;

            case 1:
              if ((
#line 10608 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ROTATERT, DImode, operands)
   && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
      == GET_MODE_BITSIZE (DImode)-1
   && can_create_pseudo_p ()) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                {
                  *pnum_clobbers = 1;
                  return 579; /* *rotrdi3_mask */
                }
              break;

            default:
              break;
            }
        }
      break;

    case CONST_INT:
      operands[2] = x5;
      switch (pattern156 (x3))
        {
        case 0:
          if (pnum_clobbers != NULL
              && register_operand (operands[1], DImode)
              && const_1_to_31_operand (operands[2], QImode)
              && 
#line 1041 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT))
            {
              *pnum_clobbers = 2;
              return 582; /* ix86_rotrdi3_doubleword */
            }
          if (nonimmediate_operand (operands[1], DImode)
              && const_0_to_63_operand (operands[2], QImode)
              && (
#line 10689 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI2) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return 585; /* *bmi2_rorxdi3_1 */
          break;

        case 1:
          if (const_0_to_31_operand (operands[2], QImode)
              && 
#line 10689 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI2))
            return 584; /* *bmi2_rorxsi3_1 */
          break;

        default:
          break;
        }
      break;

    default:
      break;
    }
  if (pnum_clobbers == NULL)
    return -1;
  operands[2] = x5;
  if (!nonmemory_operand (operands[2], QImode))
    return -1;
  switch (pattern212 (x3))
    {
    case 0:
      if (!
#line 10700 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ROTATERT, SImode, operands)))
        return -1;
      *pnum_clobbers = 1;
      return 587; /* *rotrsi3_1 */

    case 1:
      if (!(
#line 10700 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ROTATERT, DImode, operands)) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
        return -1;
      *pnum_clobbers = 1;
      return 589; /* *rotrdi3_1 */

    default:
      return -1;
    }
}

static int
recog_59 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  operands[1] = x2;
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != REG
      || REGNO (x3) != 17)
    return -1;
  x4 = XEXP (x2, 1);
  if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x5 = XEXP (x1, 0);
  operands[0] = x5;
  switch (pattern295 ())
    {
    case 0:
      if (!
#line 11152 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && !TARGET_PARTIAL_REG_STALL))
        return -1;
      return 610; /* *setcc_di_1 */

    case 1:
      if (pnum_clobbers != NULL
          && 
#line 11168 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_PARTIAL_REG_STALL
   && TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)))
        {
          *pnum_clobbers = 1;
          return 611; /* *setcc_si_1_and */
        }
      if (!
#line 11185 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_PARTIAL_REG_STALL
   && (!TARGET_ZERO_EXTEND_WITH_AND || optimize_function_for_size_p (cfun))))
        return -1;
      return 612; /* *setcc_si_1_movzbl */

    default:
      return -1;
    }
}

static int
recog_60 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != MEM
      || GET_MODE (x3) != QImode)
    return -1;
  x4 = XEXP (x1, 0);
  operands[0] = x4;
  x5 = XEXP (x3, 0);
  operands[1] = x5;
  x6 = XEXP (x2, 1);
  operands[2] = x6;
  if (call_insn_operand (operands[1], SImode)
      && (
#line 12031 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!SIBLING_CALL_P (insn)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode)))
    return 665; /* *call_value */
  if (call_insn_operand (operands[1], DImode)
      && (
#line 12031 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!SIBLING_CALL_P (insn)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode)))
    return 666; /* *call_value */
  switch (GET_CODE (x5))
    {
    case ZERO_EXTEND:
      if (GET_MODE (x5) == DImode)
        {
          x7 = XEXP (x5, 0);
          operands[1] = x7;
          if (GOT_memory_operand (operands[1], SImode))
            {
              operands[2] = x6;
              if (
#line 12042 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_X32))
                return 667; /* *call_value_got_x32 */
            }
        }
      break;

    case MEM:
      if (GET_MODE (x5) == SImode)
        {
          x7 = XEXP (x5, 0);
          if (GET_CODE (x7) == PLUS
              && GET_MODE (x7) == SImode)
            {
              x8 = XEXP (x7, 0);
              operands[1] = x8;
              if (register_no_elim_operand (operands[1], SImode))
                {
                  x9 = XEXP (x7, 1);
                  operands[2] = x9;
                  if (GOT32_symbol_operand (operands[2], SImode))
                    {
                      operands[3] = x6;
                      if (
#line 12058 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_MACHO && !TARGET_64BIT && SIBLING_CALL_P (insn)))
                        return 668; /* *sibcall_value_GOT_32 */
                    }
                }
            }
        }
      break;

    default:
      break;
    }
  operands[1] = x5;
  operands[2] = x6;
  if (sibcall_insn_operand (operands[1], SImode)
      && (
#line 12070 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(SIBLING_CALL_P (insn)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode)))
    return 669; /* *sibcall_value */
  if (!sibcall_insn_operand (operands[1], DImode)
      || !(
#line 12070 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(SIBLING_CALL_P (insn)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode)))
    return -1;
  return 670; /* *sibcall_value */
}

static int
recog_61 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (XINT (x2, 1))
    {
    case 17:
      if (GET_MODE (x2) != BLKmode)
        return -1;
      x3 = XVECEXP (x2, 0, 0);
      if (!rtx_equal_p (x3, operands[0]))
        return -1;
      return 677; /* *memory_blockage */

    case 14:
      x3 = XVECEXP (x2, 0, 0);
      switch (GET_CODE (x3))
        {
        case CONST_INT:
          if (XWINT (x3, 0) != 0LL)
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case SImode:
              if (pnum_clobbers == NULL
                  || !register_operand (operands[0], SImode)
                  || GET_MODE (x2) != SImode
                  || !
#line 12448 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT))
                return -1;
              *pnum_clobbers = 1;
              return 687; /* *set_got */

            case DImode:
              if (!register_operand (operands[0], DImode)
                  || GET_MODE (x2) != DImode
                  || !
#line 12478 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
                return -1;
              return 689; /* set_got_rex64 */

            default:
              return -1;
            }

        case LABEL_REF:
          if (pnum_clobbers == NULL
              || !register_operand (operands[0], SImode)
              || GET_MODE (x2) != SImode)
            return -1;
          x4 = XEXP (x3, 0);
          operands[1] = x4;
          if (!
#line 12470 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT))
            return -1;
          *pnum_clobbers = 1;
          return 688; /* *set_got_labelled */

        default:
          return -1;
        }

    case 15:
      if (GET_MODE (x2) != DImode)
        return -1;
      x3 = XVECEXP (x2, 0, 0);
      if (GET_CODE (x3) != LABEL_REF
          || !register_operand (operands[0], DImode))
        return -1;
      x4 = XEXP (x3, 0);
      operands[1] = x4;
      if (!
#line 12488 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
        return -1;
      return 690; /* set_rip_rex64 */

    case 16:
      if (GET_MODE (x2) != DImode)
        return -1;
      x3 = XVECEXP (x2, 0, 0);
      if (GET_CODE (x3) != LABEL_REF
          || !register_operand (operands[0], DImode))
        return -1;
      x4 = XEXP (x3, 0);
      operands[1] = x4;
      if (!
#line 12499 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_LP64))
        return -1;
      return 691; /* set_got_offset_rex64 */

    case 86:
      switch (pattern157 (x2, pnum_clobbers))
        {
        case 0:
          if (!
#line 12889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI))
            return -1;
          *pnum_clobbers = 1;
          return 714; /* tzcnt_si */

        case 1:
          if (!(((
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT) && 
#line 12889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI)) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)) && 
#line 12889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI)))
            return -1;
          *pnum_clobbers = 1;
          return 716; /* tzcnt_di */

        default:
          return -1;
        }

    case 85:
      switch (pattern157 (x2, pnum_clobbers))
        {
        case 0:
          if (!
#line 12890 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_LZCNT))
            return -1;
          *pnum_clobbers = 1;
          return 715; /* lzcnt_si */

        case 1:
          if (!(((
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT) && 
#line 12890 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_LZCNT)) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)) && 
#line 12890 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_LZCNT)))
            return -1;
          *pnum_clobbers = 1;
          return 717; /* lzcnt_di */

        default:
          return -1;
        }

    case 20:
      x3 = XVECEXP (x2, 0, 0);
      if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      switch (pattern39 (x2))
        {
        case 0:
          if (
#line 13753 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_X32))
            return 786; /* *load_tp_x32 */
          if (!(
#line 13775 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_X32) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
            return -1;
          return 788; /* *load_tp_si */

        case 1:
          if (!(
#line 13775 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_X32) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
            return -1;
          return 789; /* *load_tp_di */

        default:
          return -1;
        }

    case 23:
      if (GET_MODE (x2) != DImode
          || !register_operand (operands[0], DImode))
        return -1;
      x3 = XVECEXP (x2, 0, 0);
      operands[1] = x3;
      if (!tls_symbolic_operand (operands[1], VOIDmode)
          || !
#line 13927 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_GNU2_TLS))
        return -1;
      return 797; /* *tls_dynamic_gnu2_lea_64 */

    case 57:
      x3 = XVECEXP (x2, 0, 0);
      operands[1] = x3;
      if (!register_operand (operands[1], XFmode))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case DImode:
          if (GET_MODE (x2) != DImode)
            return -1;
          if (nonimmediate_operand (operands[0], DImode)
              && 
#line 15559 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && can_create_pseudo_p ()))
            return 869; /* *fistdi2_1 */
          if (pnum_clobbers == NULL
              || !memory_operand (operands[0], DImode)
              || !
#line 15583 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387))
            return -1;
          *pnum_clobbers = 1;
          return 870; /* fistdi2 */

        case SImode:
          if (GET_MODE (x2) != SImode)
            return -1;
          if (register_operand (operands[0], SImode)
              && 
#line 15624 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && can_create_pseudo_p ()))
            return 873; /* *fistsi2_1 */
          if (!memory_operand (operands[0], SImode)
              || !
#line 15642 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387))
            return -1;
          return 875; /* fistsi2 */

        default:
          return -1;
        }

    case 65:
      switch (pattern159 (x2, pnum_clobbers))
        {
        case 0:
          if (!
#line 15907 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && can_create_pseudo_p ()))
            return -1;
          *pnum_clobbers = 1;
          return 900; /* *fistsi2_floor_1 */

        case 1:
          if (!
#line 15907 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && can_create_pseudo_p ()))
            return -1;
          *pnum_clobbers = 1;
          return 902; /* *fistdi2_floor_1 */

        default:
          return -1;
        }

    case 66:
      switch (pattern159 (x2, pnum_clobbers))
        {
        case 0:
          if (!
#line 15907 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && can_create_pseudo_p ()))
            return -1;
          *pnum_clobbers = 1;
          return 901; /* *fistsi2_ceil_1 */

        case 1:
          if (!
#line 15907 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && can_create_pseudo_p ()))
            return -1;
          *pnum_clobbers = 1;
          return 903; /* *fistdi2_ceil_1 */

        default:
          return -1;
        }

    case 44:
      if (GET_MODE (x2) != SImode
          || !register_operand (operands[0], SImode))
        return -1;
      x3 = XVECEXP (x2, 0, 0);
      operands[1] = x3;
      switch (GET_MODE (operands[1]))
        {
        case DFmode:
          if (!register_operand (operands[1], DFmode)
              || !
#line 16208 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH))
            return -1;
          return 921; /* movmsk_df */

        case V8QImode:
          if (!register_operand (operands[1], V8QImode)
              || !
#line 1536 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_SSE || TARGET_3DNOW_A))
            return -1;
          return 1201; /* mmx_pmovmskb */

        case V8SFmode:
          if (!register_operand (operands[1], V8SFmode)
              || !(
#line 14054 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 230 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return -1;
          return 3688; /* avx_movmskps256 */

        case V4SFmode:
          if (!register_operand (operands[1], V4SFmode)
              || !
#line 14054 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE))
            return -1;
          return 3689; /* sse_movmskps */

        case V4DFmode:
          if (!register_operand (operands[1], V4DFmode)
              || !(
#line 14054 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 231 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return -1;
          return 3690; /* avx_movmskpd256 */

        case V2DFmode:
          if (!register_operand (operands[1], V2DFmode)
              || !(
#line 14054 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 231 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
            return -1;
          return 3691; /* sse2_movmskpd */

        case V32QImode:
          if (!register_operand (operands[1], V32QImode)
              || !(
#line 14077 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2) && 
#line 323 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
            return -1;
          return 3696; /* avx2_pmovmskb */

        case V16QImode:
          if (!register_operand (operands[1], V16QImode)
              || !
#line 14077 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))
            return -1;
          return 3697; /* sse2_pmovmskb */

        default:
          return -1;
        }

    case 19:
      if (pnum_clobbers == NULL)
        return -1;
      x3 = XVECEXP (x2, 0, 0);
      operands[1] = x3;
      switch (GET_MODE (operands[0]))
        {
        case SImode:
          if (!memory_operand (operands[0], SImode)
              || GET_MODE (x2) != SImode
              || !const0_operand (operands[1], SImode)
              || !
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode))
            return -1;
          *pnum_clobbers = 1;
          return 987; /* probe_stack_si */

        case DImode:
          if (!memory_operand (operands[0], DImode)
              || GET_MODE (x2) != DImode
              || !const0_operand (operands[1], DImode)
              || !
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode))
            return -1;
          *pnum_clobbers = 1;
          return 988; /* probe_stack_di */

        default:
          return -1;
        }

    case 35:
      if (GET_MODE (x2) != BLKmode)
        return -1;
      x3 = XVECEXP (x2, 0, 0);
      if (!rtx_equal_p (x3, operands[0]))
        return -1;
      return 1063; /* *pause */

    case 12:
      x3 = XVECEXP (x2, 0, 0);
      operands[1] = x3;
      switch (GET_MODE (operands[0]))
        {
        case SImode:
          if (!register_operand (operands[0], SImode)
              || GET_MODE (x2) != SImode
              || !symbol_operand (operands[1], SImode)
              || !
#line 19497 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_MPX))
            return -1;
          return 1089; /* move_size_reloc_si */

        case DImode:
          if (!register_operand (operands[0], DImode)
              || GET_MODE (x2) != DImode
              || !symbol_operand (operands[1], DImode)
              || !(
#line 19497 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_MPX) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          return 1090; /* move_size_reloc_di */

        default:
          return -1;
        }

    case 100:
      if (GET_MODE (x2) != DImode
          || !memory_operand (operands[0], DImode))
        return -1;
      x3 = XVECEXP (x2, 0, 0);
      operands[1] = x3;
      if (!register_operand (operands[1], DImode)
          || !
#line 227 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_SSE || TARGET_3DNOW_A))
        return -1;
      return 1099; /* sse_movntq */

    case 106:
      x3 = XVECEXP (x2, 0, 0);
      operands[1] = x3;
      switch (GET_MODE (operands[0]))
        {
        case SImode:
          if (!memory_operand (operands[0], SImode)
              || GET_MODE (x2) != SImode
              || !register_operand (operands[1], SImode)
              || !
#line 1244 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))
            return -1;
          return 1285; /* sse2_movntisi */

        case DImode:
          if (!memory_operand (operands[0], DImode)
              || GET_MODE (x2) != DImode
              || !register_operand (operands[1], DImode)
              || !(
#line 1244 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          return 1286; /* sse2_movntidi */

        default:
          return -1;
        }

    case 42:
      x3 = XVECEXP (x2, 0, 0);
      switch (GET_CODE (x3))
        {
        case VEC_SELECT:
          switch (pattern214 (x3))
            {
            case 0:
              switch (pattern517 (x2, SImode))
                {
                case 0:
                  if (!
#line 4293 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE))
                    return -1;
                  return 2098; /* sse_cvtss2si */

                case 1:
                  if (!
#line 4788 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))
                    return -1;
                  return 2205; /* sse2_cvtsd2si */

                default:
                  return -1;
                }

            case 1:
              switch (pattern517 (x2, DImode))
                {
                case 0:
                  if (!
#line 4323 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && TARGET_64BIT))
                    return -1;
                  return 2101; /* sse_cvtss2siq */

                case 1:
                  if (!
#line 4819 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && TARGET_64BIT))
                    return -1;
                  return 2208; /* sse2_cvtsd2siq */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case REG:
        case SUBREG:
        case MEM:
          operands[1] = x3;
          switch (GET_MODE (operands[0]))
            {
            case SImode:
              switch (pattern364 (x2, SImode))
                {
                case 0:
                  if (!
#line 4306 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE))
                    return -1;
                  return 2100; /* sse_cvtss2si_2 */

                case 1:
                  if (!
#line 4802 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))
                    return -1;
                  return 2207; /* sse2_cvtsd2si_2 */

                default:
                  return -1;
                }

            case DImode:
              switch (pattern364 (x2, DImode))
                {
                case 0:
                  if (!
#line 4336 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && TARGET_64BIT))
                    return -1;
                  return 2103; /* sse_cvtss2siq_2 */

                case 1:
                  if (!
#line 4832 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && TARGET_64BIT))
                    return -1;
                  return 2210; /* sse2_cvtsd2siq_2 */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 151:
      x3 = XVECEXP (x2, 0, 0);
      if (GET_CODE (x3) != VEC_SELECT)
        return -1;
      switch (pattern214 (x3))
        {
        case 0:
          switch (pattern518 (x2, SImode))
            {
            case 0:
              if (!
#line 4688 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return -1;
              return 2189; /* avx512f_vcvtss2usi */

            case 1:
              if (!
#line 4738 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return -1;
              return 2197; /* avx512f_vcvtsd2usi */

            default:
              return -1;
            }

        case 1:
          switch (pattern518 (x2, DImode))
            {
            case 0:
              if (!
#line 4701 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && TARGET_64BIT))
                return -1;
              return 2191; /* avx512f_vcvtss2usiq */

            case 1:
              if (!
#line 4751 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && TARGET_64BIT))
                return -1;
              return 2199; /* avx512f_vcvtsd2usiq */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 191:
      x3 = XVECEXP (x2, 0, 0);
      operands[1] = x3;
      switch (GET_MODE (operands[0]))
        {
        case DImode:
          if (!register_operand (operands[0], DImode)
              || GET_MODE (x2) != DImode
              || !register_operand (operands[1], V64QImode)
              || !
#line 5448 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
            return -1;
          return 2380; /* avx512bw_cvtb2maskv64qi */

        case SImode:
          if (!register_operand (operands[0], SImode)
              || GET_MODE (x2) != SImode)
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case V32QImode:
              if (!register_operand (operands[1], V32QImode)
                  || !(
#line 5448 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 2382; /* avx512vl_cvtb2maskv32qi */

            case V32HImode:
              if (!register_operand (operands[1], V32HImode)
                  || !
#line 5448 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
                return -1;
              return 2383; /* avx512bw_cvtw2maskv32hi */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 202:
      if (GET_MODE (x2) != BLKmode)
        return -1;
      x3 = XVECEXP (x2, 0, 0);
      if (!rtx_equal_p (x3, operands[0])
          || !
#line 54 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sync.md"
(TARGET_SSE2))
        return -1;
      return 4954; /* *sse2_lfence */

    case 203:
      if (GET_MODE (x2) != BLKmode)
        return -1;
      x3 = XVECEXP (x2, 0, 0);
      if (!rtx_equal_p (x3, operands[0])
          || !
#line 73 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sync.md"
(TARGET_SSE || TARGET_3DNOW_A))
        return -1;
      return 4955; /* *sse_sfence */

    case 204:
      if (GET_MODE (x2) != BLKmode)
        return -1;
      x3 = XVECEXP (x2, 0, 0);
      if (!rtx_equal_p (x3, operands[0]))
        return -1;
      if (
#line 92 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sync.md"
(TARGET_64BIT || TARGET_SSE2))
        return 4956; /* mfence_sse2 */
      if (pnum_clobbers == NULL
          || !
#line 103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sync.md"
(!(TARGET_64BIT || TARGET_SSE2)))
        return -1;
      *pnum_clobbers = 1;
      return 4957; /* mfence_nosse */

    case 206:
      if (GET_MODE (x2) != DImode
          || !memory_operand (operands[0], DImode))
        return -1;
      x3 = XVECEXP (x2, 0, 0);
      operands[1] = x3;
      if (!register_operand (operands[1], DFmode)
          || !
#line 381 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sync.md"
(TARGET_80387))
        return -1;
      return 4965; /* storedi_via_fpu */

    case 208:
      if (GET_MODE (x2) != DImode
          || !memory_operand (operands[0], DImode))
        return -1;
      x3 = XVECEXP (x2, 0, 0);
      operands[1] = x3;
      if (!register_operand (operands[1], DFmode)
          || !
#line 407 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sync.md"
(TARGET_SSE))
        return -1;
      return 4967; /* storedi_via_sse */

    default:
      return -1;
    }
}

static int
recog_62 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  switch (XVECLEN (x3, 0))
    {
    case 1:
      return recog_61 (x1, insn, pnum_clobbers);

    case 2:
      x4 = XVECEXP (x3, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x3, 0, 1);
      operands[2] = x5;
      switch (XINT (x3, 1))
        {
        case 87:
          if (pnum_clobbers == NULL)
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case SImode:
              if (pattern379 (x3, SImode) != 0
                  || !
#line 12961 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI))
                return -1;
              *pnum_clobbers = 1;
              return 724; /* bmi_bextr_si */

            case DImode:
              if (pattern379 (x3, DImode) != 0
                  || !(
#line 12961 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              *pnum_clobbers = 1;
              return 725; /* bmi_bextr_di */

            default:
              return -1;
            }

        case 88:
          switch (GET_MODE (operands[0]))
            {
            case SImode:
              if (pattern52 (x3, SImode) != 0
                  || !
#line 13092 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI2))
                return -1;
              return 740; /* bmi2_pdep_si3 */

            case DImode:
              if (pattern52 (x3, DImode) != 0
                  || !(
#line 13092 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI2) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              return 741; /* bmi2_pdep_di3 */

            default:
              return -1;
            }

        case 89:
          switch (GET_MODE (operands[0]))
            {
            case SImode:
              if (pattern52 (x3, SImode) != 0
                  || !
#line 13103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI2))
                return -1;
              return 742; /* bmi2_pext_si3 */

            case DImode:
              if (pattern52 (x3, DImode) != 0
                  || !(
#line 13103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI2) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              return 743; /* bmi2_pext_di3 */

            default:
              return -1;
            }

        case 84:
          switch (GET_MODE (operands[0]))
            {
            case SImode:
              if (!register_operand (operands[0], SImode)
                  || GET_MODE (x3) != SImode
                  || !register_operand (operands[1], SImode))
                return -1;
              switch (GET_MODE (operands[2]))
                {
                case QImode:
                  if (!nonimmediate_operand (operands[2], QImode)
                      || !
#line 18761 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_SSE4_2 || TARGET_CRC32))
                    return -1;
                  return 1005; /* sse4_2_crc32qi */

                case HImode:
                  if (!nonimmediate_operand (operands[2], HImode)
                      || !
#line 18761 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_SSE4_2 || TARGET_CRC32))
                    return -1;
                  return 1006; /* sse4_2_crc32hi */

                case SImode:
                  if (!nonimmediate_operand (operands[2], SImode)
                      || !
#line 18761 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_SSE4_2 || TARGET_CRC32))
                    return -1;
                  return 1007; /* sse4_2_crc32si */

                default:
                  return -1;
                }

            case DImode:
              if (pattern52 (x3, DImode) != 0
                  || !
#line 18782 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && (TARGET_SSE4_2 || TARGET_CRC32)))
                return -1;
              return 1008; /* sse4_2_crc32di */

            default:
              return -1;
            }

        case 168:
          switch (pattern297 (x3))
            {
            case 0:
              if (!
#line 11146 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (EQ, V64QImode, operands)))
                return -1;
              return 3336; /* avx512bw_eqv64qi3_1 */

            case 1:
              if (!(
#line 11146 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (EQ, V32QImode, operands)) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 3340; /* avx512vl_eqv32qi3_1 */

            case 2:
              if (!
#line 11146 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (EQ, V32HImode, operands)))
                return -1;
              return 3342; /* avx512bw_eqv32hi3_1 */

            default:
              return -1;
            }

        case 169:
          switch (pattern297 (x3))
            {
            case 0:
              if (!
#line 11259 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
                return -1;
              return 3381; /* avx512bw_gtv64qi3 */

            case 1:
              if (!(
#line 11259 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 3385; /* avx512vl_gtv32qi3 */

            case 2:
              if (!
#line 11259 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
                return -1;
              return 3387; /* avx512bw_gtv32hi3 */

            default:
              return -1;
            }

        case 153:
          switch (pattern297 (x3))
            {
            case 0:
              if (!
#line 11849 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
                return -1;
              return 3486; /* avx512bw_testmv64qi3 */

            case 1:
              if (!(
#line 11849 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 3490; /* avx512vl_testmv32qi3 */

            case 2:
              if (!
#line 11849 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
                return -1;
              return 3492; /* avx512bw_testmv32hi3 */

            default:
              return -1;
            }

        case 154:
          switch (pattern297 (x3))
            {
            case 0:
              if (!
#line 11871 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
                return -1;
              return 3510; /* avx512bw_testnmv64qi3 */

            case 1:
              if (!(
#line 11871 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 3514; /* avx512vl_testnmv32qi3 */

            case 2:
              if (!
#line 11871 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
                return -1;
              return 3516; /* avx512bw_testnmv32hi3 */

            default:
              return -1;
            }

        case 210:
          if (!const_int_operand (operands[2], SImode))
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case SImode:
              if (!memory_operand (operands[0], SImode)
                  || GET_MODE (x3) != SImode
                  || !x86_64_nonmemory_operand (operands[1], SImode))
                return -1;
              return 4961; /* atomic_storesi_1 */

            case DImode:
              if (!memory_operand (operands[0], DImode)
                  || GET_MODE (x3) != DImode
                  || !x86_64_nonmemory_operand (operands[1], DImode)
                  || !
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
                return -1;
              return 4962; /* atomic_storedi_1 */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 4:
      if (pnum_clobbers == NULL)
        return -1;
      x6 = XVECEXP (x3, 0, 3);
      if (GET_CODE (x6) != REG
          || REGNO (x6) != 7
          || GET_MODE (x6) != SImode
          || !register_operand (operands[0], SImode)
          || GET_MODE (x3) != SImode)
        return -1;
      x4 = XVECEXP (x3, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x3, 0, 1);
      operands[2] = x5;
      x7 = XVECEXP (x3, 0, 2);
      operands[3] = x7;
      switch (XINT (x3, 1))
        {
        case 21:
          if (!register_operand (operands[1], SImode)
              || !tls_symbolic_operand (operands[2], VOIDmode)
              || !constant_call_address_operand (operands[3], VOIDmode)
              || !
#line 13527 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_GNU_TLS))
            return -1;
          *pnum_clobbers = 3;
          return 779; /* *tls_global_dynamic_32_gnu */

        case 23:
          if (!tls_symbolic_operand (operands[1], VOIDmode)
              || !register_operand (operands[2], SImode)
              || !register_operand (operands[3], SImode)
              || !
#line 13881 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_GNU2_TLS))
            return -1;
          *pnum_clobbers = 1;
          return 795; /* *tls_dynamic_gnu2_call_32 */

        default:
          return -1;
        }

    case 3:
      x4 = XVECEXP (x3, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x3, 0, 1);
      operands[2] = x5;
      switch (XINT (x3, 1))
        {
        case 22:
          if (pattern298 (x3, pnum_clobbers, SImode) != 0
              || !register_operand (operands[1], SImode)
              || !constant_call_address_operand (operands[2], VOIDmode)
              || !
#line 13636 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_GNU_TLS))
            return -1;
          *pnum_clobbers = 3;
          return 782; /* *tls_local_dynamic_base_32_gnu */

        case 23:
          if (pattern298 (x3, pnum_clobbers, DImode) != 0
              || !tls_symbolic_operand (operands[1], VOIDmode)
              || !register_operand (operands[2], DImode)
              || !
#line 13941 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_GNU2_TLS))
            return -1;
          *pnum_clobbers = 1;
          return 798; /* *tls_dynamic_gnu2_call_64 */

        case 136:
          switch (pattern299 (x3))
            {
            case 0:
              if (!
#line 2602 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
                return -1;
              return 1671; /* avx512bw_cmpv64qi3 */

            case 1:
              if (!(
#line 2602 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 1675; /* avx512vl_cmpv32qi3 */

            case 2:
              if (!
#line 2602 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
                return -1;
              return 1677; /* avx512bw_cmpv32hi3 */

            default:
              return -1;
            }

        case 152:
          switch (pattern299 (x3))
            {
            case 0:
              if (!
#line 2616 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
                return -1;
              return 1683; /* avx512bw_ucmpv64qi3 */

            case 1:
              if (!(
#line 2616 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 1687; /* avx512vl_ucmpv32qi3 */

            case 2:
              if (!
#line 2616 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
                return -1;
              return 1689; /* avx512bw_ucmpv32hi3 */

            default:
              return -1;
            }

        case 110:
          if (GET_MODE (x3) != DImode
              || !register_operand (operands[0], DImode)
              || !register_operand (operands[1], DImode)
              || !nonimmediate_operand (operands[2], DImode))
            return -1;
          x7 = XVECEXP (x3, 0, 2);
          operands[3] = x7;
          if (!const_0_to_255_mul_8_operand (operands[3], SImode)
              || !
#line 14847 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3))
            return -1;
          return 3766; /* ssse3_palignrdi */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_63 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10;
  int res ATTRIBUTE_UNUSED;
  if (pnum_clobbers == NULL)
    return -1;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  x5 = XEXP (x3, 1);
  switch (GET_CODE (x5))
    {
    case UMIN:
      x6 = XEXP (x3, 2);
      if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x7 = XEXP (x5, 1);
      operands[3] = x7;
      x8 = XEXP (x5, 0);
      switch (GET_CODE (x8))
        {
        case AND:
          x9 = XEXP (x8, 1);
          if (GET_CODE (x9) != CONST_INT
              || XWINT (x9, 0) != 255LL)
            return -1;
          x10 = XEXP (x8, 0);
          operands[2] = x10;
          switch (GET_MODE (operands[0]))
            {
            case SImode:
              if (pattern593 (x3, SImode) != 0
                  || !
#line 13047 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI2 && INTVAL (operands[3]) == 4 * BITS_PER_UNIT))
                return -1;
              *pnum_clobbers = 1;
              return 734; /* *bmi2_bzhi_si3 */

            case DImode:
              if (pattern593 (x3, DImode) != 0
                  || !(
#line 13047 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI2 && INTVAL (operands[3]) == 8 * BITS_PER_UNIT) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              *pnum_clobbers = 1;
              return 735; /* *bmi2_bzhi_di3 */

            default:
              return -1;
            }

        case ZERO_EXTEND:
          x10 = XEXP (x8, 0);
          operands[2] = x10;
          if (!register_operand (operands[2], QImode))
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case SImode:
              if (pattern561 (x3, SImode) != 0
                  || !
#line 13064 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI2 && INTVAL (operands[3]) == 4 * BITS_PER_UNIT))
                return -1;
              *pnum_clobbers = 1;
              return 736; /* *bmi2_bzhi_si3_1 */

            case DImode:
              if (pattern561 (x3, DImode) != 0
                  || !(
#line 13064 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI2 && INTVAL (operands[3]) == 8 * BITS_PER_UNIT) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              *pnum_clobbers = 1;
              return 737; /* *bmi2_bzhi_di3_1 */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case CONST_INT:
      operands[2] = x5;
      if (!const_0_to_255_operand (operands[2], VOIDmode))
        return -1;
      x6 = XEXP (x3, 2);
      operands[3] = x6;
      if (!const_0_to_255_operand (operands[3], VOIDmode))
        return -1;
      switch (pattern10 (x3))
        {
        case 0:
          if (!
#line 13117 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_TBM))
            return -1;
          *pnum_clobbers = 1;
          return 744; /* tbm_bextri_si */

        case 1:
          if (!(
#line 13117 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_TBM) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          *pnum_clobbers = 1;
          return 745; /* tbm_bextri_di */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_64 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  if (pnum_clobbers == NULL)
    return -1;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
    case MEM:
      operands[1] = x4;
      switch (pattern10 (x3))
        {
        case 0:
          if (!
#line 13252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_POPCNT))
            return -1;
          *pnum_clobbers = 1;
          return 764; /* popcountsi2 */

        case 1:
          if (!(
#line 13252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_POPCNT) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          *pnum_clobbers = 1;
          return 765; /* popcountdi2 */

        default:
          return -1;
        }

    case ZERO_EXTEND:
      if (GET_MODE (x4) != SImode
          || !register_operand (operands[0], SImode)
          || GET_MODE (x3) != SImode)
        return -1;
      x5 = XEXP (x4, 0);
      operands[1] = x5;
      if (!nonimmediate_operand (operands[1], HImode)
          || !
#line 13300 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_POPCNT
   && can_create_pseudo_p ()))
        return -1;
      *pnum_clobbers = 1;
      return 768; /* *popcounthi2_1 */

    default:
      return -1;
    }
}

static int
recog_65 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  switch (GET_CODE (x3))
    {
    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:
      if (pnum_clobbers != NULL)
        {
          switch (pattern40 (x1, -1))
            {
            case 0:
              *pnum_clobbers = 1;
              return 957; /* *x86_movsicc_0_m1 */

            case 1:
              if (
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
                {
                  *pnum_clobbers = 1;
                  return 958; /* *x86_movdicc_0_m1 */
                }
              break;

            default:
              break;
            }
        }
      operands[1] = x3;
      if (!ix86_comparison_operator (operands[1], VOIDmode))
        return -1;
      x4 = XEXP (x3, 0);
      if (GET_CODE (x4) != REG
          || REGNO (x4) != 17)
        return -1;
      x5 = XEXP (x3, 1);
      if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x6 = XEXP (x1, 0);
      operands[0] = x6;
      x7 = XEXP (x2, 1);
      switch (GET_CODE (x7))
        {
        case REG:
        case SUBREG:
        case MEM:
          switch (pattern396 (x2))
            {
            case 0:
              if (!
#line 17068 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_CMOVE && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
                return -1;
              return 964; /* *movsicc_noc */

            case 1:
              if (!(
#line 17068 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_CMOVE && !(MEM_P (operands[2]) && MEM_P (operands[3]))) && 
#line 986 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              return 965; /* *movdicc_noc */

            default:
              return -1;
            }

        case ZERO_EXTEND:
          if (GET_MODE (x7) != DImode)
            return -1;
          x8 = XEXP (x2, 2);
          if (GET_CODE (x8) != ZERO_EXTEND
              || GET_MODE (x8) != DImode
              || !register_operand (operands[0], DImode)
              || GET_MODE (x2) != DImode)
            return -1;
          x9 = XEXP (x7, 0);
          operands[2] = x9;
          if (!nonimmediate_operand (operands[2], SImode))
            return -1;
          x10 = XEXP (x8, 0);
          operands[3] = x10;
          if (!nonimmediate_operand (operands[3], SImode)
              || !
#line 17083 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT
   && TARGET_CMOVE && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
            return -1;
          return 966; /* *movsicc_noc_zext */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_66 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  switch (XVECLEN (x3, 0))
    {
    case 1:
      switch (XINT (x3, 1))
        {
        case 1:
          if (pnum_clobbers == NULL)
            return -1;
          x4 = XVECEXP (x3, 0, 0);
          operands[1] = x4;
          switch (GET_MODE (operands[0]))
            {
            case SImode:
              if (!register_operand (operands[0], SImode)
                  || GET_MODE (x3) != SImode
                  || !register_operand (operands[1], SImode)
                  || !(
#line 17516 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_target_stack_probe ()) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return -1;
              *pnum_clobbers = 1;
              return 985; /* allocate_stack_worker_probe_si */

            case DImode:
              if (!register_operand (operands[0], DImode)
                  || GET_MODE (x3) != DImode
                  || !register_operand (operands[1], DImode)
                  || !(
#line 17516 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_target_stack_probe ()) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return -1;
              *pnum_clobbers = 1;
              return 986; /* allocate_stack_worker_probe_di */

            default:
              return -1;
            }

        case 10:
          if (GET_MODE (x3) != DImode
              || !register_operand (operands[0], DImode))
            return -1;
          x4 = XVECEXP (x3, 0, 0);
          operands[1] = x4;
          if (!register_operand (operands[1], SImode)
              || !
#line 18793 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT))
            return -1;
          return 1009; /* rdpmc */

        case 8:
          if (GET_MODE (x3) != DImode)
            return -1;
          x4 = XVECEXP (x3, 0, 0);
          if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
              || !register_operand (operands[0], DImode)
              || !
#line 18812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT))
            return -1;
          return 1011; /* rdtsc */

        case 12:
          x4 = XVECEXP (x3, 0, 0);
          if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          switch (pattern39 (x3))
            {
            case 0:
              if (!(
#line 19110 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_LWP) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return -1;
              return 1043; /* lwp_slwpcbsi */

            case 1:
              if (!(
#line 19110 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_LWP) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return -1;
              return 1044; /* lwp_slwpcbdi */

            default:
              return -1;
            }

        case 15:
          x4 = XVECEXP (x3, 0, 0);
          if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          switch (pattern39 (x3))
            {
            case 0:
              if (!
#line 19177 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_FSGSBASE))
                return -1;
              return 1049; /* rdfsbasesi */

            case 1:
              if (!(
#line 19177 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_FSGSBASE) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              return 1051; /* rdfsbasedi */

            default:
              return -1;
            }

        case 16:
          x4 = XVECEXP (x3, 0, 0);
          if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          switch (pattern39 (x3))
            {
            case 0:
              if (!
#line 19177 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_FSGSBASE))
                return -1;
              return 1050; /* rdgsbasesi */

            case 1:
              if (!(
#line 19177 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_FSGSBASE) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              return 1052; /* rdgsbasedi */

            default:
              return -1;
            }

        case 52:
          if (GET_MODE (x3) != SImode)
            return -1;
          x4 = XVECEXP (x3, 0, 0);
          if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
              || !register_operand (operands[0], SImode)
              || !
#line 19552 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_RDPID))
            return -1;
          return 1093; /* rdpid */

        case 56:
          if (GET_MODE (x3) != SImode)
            return -1;
          x4 = XVECEXP (x3, 0, 0);
          if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
              || !memory_operand (operands[0], SImode)
              || !
#line 14151 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE))
            return -1;
          return 3703; /* sse_stmxcsr */

        default:
          return -1;
        }

    case 2:
      if (pnum_clobbers == NULL)
        return -1;
      x5 = XVECEXP (x3, 0, 1);
      operands[2] = x5;
      switch (XINT (x3, 1))
        {
        case 2:
          x4 = XVECEXP (x3, 0, 0);
          operands[1] = x4;
          switch (GET_MODE (operands[0]))
            {
            case SImode:
              if (pattern405 (x3, SImode) != 0
                  || !
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))
                return -1;
              *pnum_clobbers = 1;
              return 991; /* probe_stack_rangesi */

            case DImode:
              if (pattern405 (x3, DImode) != 0
                  || !
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))
                return -1;
              *pnum_clobbers = 1;
              return 992; /* probe_stack_rangedi */

            default:
              return -1;
            }

        case 64:
          if (!const_int_operand (operands[2], SImode))
            return -1;
          x4 = XVECEXP (x3, 0, 0);
          switch (GET_CODE (x4))
            {
            case PLUS:
              switch (pattern406 (x3))
                {
                case 0:
                  *pnum_clobbers = 1;
                  return 4988; /* atomic_addsi */

                case 1:
                  if (!
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
                    return -1;
                  *pnum_clobbers = 1;
                  return 4989; /* atomic_adddi */

                default:
                  return -1;
                }

            case MINUS:
              switch (pattern406 (x3))
                {
                case 0:
                  *pnum_clobbers = 1;
                  return 4992; /* atomic_subsi */

                case 1:
                  if (!
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
                    return -1;
                  *pnum_clobbers = 1;
                  return 4993; /* atomic_subdi */

                default:
                  return -1;
                }

            case AND:
              switch (pattern406 (x3))
                {
                case 0:
                  *pnum_clobbers = 1;
                  return 5000; /* atomic_andsi */

                case 1:
                  if (!
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
                    return -1;
                  *pnum_clobbers = 1;
                  return 5003; /* atomic_anddi */

                default:
                  return -1;
                }

            case IOR:
              switch (pattern406 (x3))
                {
                case 0:
                  *pnum_clobbers = 1;
                  return 5001; /* atomic_orsi */

                case 1:
                  if (!
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
                    return -1;
                  *pnum_clobbers = 1;
                  return 5004; /* atomic_ordi */

                default:
                  return -1;
                }

            case XOR:
              switch (pattern406 (x3))
                {
                case 0:
                  *pnum_clobbers = 1;
                  return 5002; /* atomic_xorsi */

                case 1:
                  if (!
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
                    return -1;
                  *pnum_clobbers = 1;
                  return 5005; /* atomic_xordi */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_67 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) != PARALLEL
      || XVECLEN (x3, 0) != 1)
    return -1;
  x4 = XVECEXP (x3, 0, 0);
  if (GET_CODE (x4) != CONST_INT)
    return -1;
  x5 = XEXP (x1, 0);
  operands[0] = x5;
  x6 = XEXP (x2, 0);
  operands[1] = x6;
  switch (XWINT (x4, 0))
    {
    case 0LL:
      switch (GET_MODE (operands[0]))
        {
        case SImode:
          if (nonimmediate_operand (operands[0], SImode)
              && GET_MODE (x2) == SImode)
            {
              switch (GET_MODE (operands[1]))
                {
                case V2SImode:
                  if (nonimmediate_operand (operands[1], V2SImode)
                      && 
#line 1294 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
                    return 1195; /* *vec_extractv2si_0 */
                  break;

                case V4SImode:
                  if (nonimmediate_operand (operands[1], V4SImode)
                      && 
#line 13521 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
                    return 3659; /* *vec_extractv4si_0 */
                  break;

                default:
                  break;
                }
            }
          break;

        case DImode:
          if (nonimmediate_operand (operands[0], DImode)
              && GET_MODE (x2) == DImode
              && nonimmediate_operand (operands[1], V2DImode))
            {
              if ((
#line 13521 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && !(MEM_P (operands[0]) && MEM_P (operands[1]))) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return 3660; /* *vec_extractv2di_0 */
              if (
#line 13529 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && !TARGET_64BIT
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
                return 3661; /* *vec_extractv2di_0_sse */
            }
          break;

        default:
          break;
        }
      break;

    case 1LL:
      switch (GET_MODE (operands[0]))
        {
        case SImode:
          if (nonimmediate_operand (operands[0], SImode)
              && GET_MODE (x2) == SImode
              && nonimmediate_operand (operands[1], V2SImode)
              && 
#line 1307 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
            return 1196; /* *vec_extractv2si_1 */
          break;

        case DImode:
          if (nonimmediate_operand (operands[0], DImode)
              && GET_MODE (x2) == DImode
              && nonimmediate_operand (operands[1], V2DImode)
              && 
#line 13650 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
            return 3668; /* *vec_extractv2di_1 */
          break;

        default:
          break;
        }
      break;

    default:
      break;
    }
  if (register_operand (operands[1], V4SImode)
      && nonimmediate_operand (operands[0], SImode)
      && GET_MODE (x2) == SImode)
    {
      operands[2] = x4;
      if (const_0_to_3_operand (operands[2], SImode)
          && 
#line 13576 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1))
        return 3664; /* *vec_extractv4si */
    }
  if (!memory_operand (operands[1], V4SImode)
      || !register_operand (operands[0], SImode)
      || GET_MODE (x2) != SImode)
    return -1;
  operands[2] = x4;
  if (!const_0_to_3_operand (operands[2], VOIDmode)
      || !
#line 13628 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE))
    return -1;
  return 3666; /* *vec_extractv4si_mem */
}

static int
recog_68 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != V16SImode)
    return -1;
  x3 = XEXP (x2, 2);
  if (!register_operand (x3, HImode))
    return -1;
  operands[3] = x3;
  if (register_operand (operands[0], V16SImode))
    {
      x4 = XEXP (x2, 0);
      if (nonimmediate_operand (x4, V16SImode))
        {
          operands[1] = x4;
          x5 = XEXP (x2, 1);
          operands[2] = x5;
          if (vector_move_operand (operands[2], V16SImode)
              && 
#line 993 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return 1227; /* avx512f_loadv16si_mask */
          operands[2] = x4;
          operands[1] = x5;
          if (register_operand (operands[1], V16SImode)
              && 
#line 1034 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return 1245; /* avx512f_blendmv16si */
        }
    }
  operands[2] = x3;
  if (!memory_operand (operands[0], V16SImode))
    return -1;
  x4 = XEXP (x2, 0);
  operands[1] = x4;
  if (!register_operand (operands[1], V16SImode))
    return -1;
  x5 = XEXP (x2, 1);
  if (!rtx_equal_p (x5, operands[0])
      || !
#line 1058 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
    return -1;
  return 1263; /* avx512f_storev16si_mask */
}

static int
recog_69 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != V16HImode)
    return -1;
  x3 = XEXP (x2, 2);
  if (!register_operand (x3, HImode))
    return -1;
  operands[3] = x3;
  if (register_operand (operands[0], V16HImode))
    {
      x4 = XEXP (x2, 0);
      if (nonimmediate_operand (x4, V16HImode))
        {
          operands[1] = x4;
          x5 = XEXP (x2, 1);
          operands[2] = x5;
          if (vector_move_operand (operands[2], V16HImode)
              && (
#line 1021 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return 1243; /* avx512vl_loadv16hi_mask */
          operands[2] = x4;
          operands[1] = x5;
          if (register_operand (operands[1], V16HImode)
              && (
#line 1046 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return 1261; /* avx512vl_blendmv16hi */
        }
    }
  operands[2] = x3;
  if (!memory_operand (operands[0], V16HImode))
    return -1;
  x4 = XEXP (x2, 0);
  operands[1] = x4;
  if (!register_operand (operands[1], V16HImode))
    return -1;
  x5 = XEXP (x2, 1);
  if (!rtx_equal_p (x5, operands[0])
      || !(
#line 1086 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
    return -1;
  return 1279; /* avx512vl_storev16hi_mask */
}

static int
recog_70 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[0]))
    {
    case V16SImode:
      return recog_68 (x1, insn, pnum_clobbers);

    case V8SImode:
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != V8SImode)
        return -1;
      x3 = XEXP (x2, 2);
      if (!register_operand (x3, QImode))
        return -1;
      operands[3] = x3;
      if (register_operand (operands[0], V8SImode))
        {
          x4 = XEXP (x2, 0);
          if (nonimmediate_operand (x4, V8SImode))
            {
              operands[1] = x4;
              x5 = XEXP (x2, 1);
              operands[2] = x5;
              if (vector_move_operand (operands[2], V8SImode)
                  && (
#line 993 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 184 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return 1228; /* avx512vl_loadv8si_mask */
              operands[2] = x4;
              operands[1] = x5;
              if (register_operand (operands[1], V8SImode)
                  && (
#line 1034 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 184 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return 1246; /* avx512vl_blendmv8si */
            }
        }
      operands[2] = x3;
      if (!memory_operand (operands[0], V8SImode))
        return -1;
      x4 = XEXP (x2, 0);
      operands[1] = x4;
      if (!register_operand (operands[1], V8SImode))
        return -1;
      x5 = XEXP (x2, 1);
      if (!rtx_equal_p (x5, operands[0])
          || !(
#line 1058 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 184 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 1264; /* avx512vl_storev8si_mask */

    case V4SImode:
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != V4SImode)
        return -1;
      x3 = XEXP (x2, 2);
      if (!register_operand (x3, QImode))
        return -1;
      operands[3] = x3;
      if (register_operand (operands[0], V4SImode))
        {
          x4 = XEXP (x2, 0);
          if (nonimmediate_operand (x4, V4SImode))
            {
              operands[1] = x4;
              x5 = XEXP (x2, 1);
              operands[2] = x5;
              if (vector_move_operand (operands[2], V4SImode)
                  && (
#line 993 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 184 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return 1229; /* avx512vl_loadv4si_mask */
              operands[2] = x4;
              operands[1] = x5;
              if (register_operand (operands[1], V4SImode)
                  && (
#line 1034 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 184 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return 1247; /* avx512vl_blendmv4si */
            }
        }
      operands[2] = x3;
      if (!memory_operand (operands[0], V4SImode))
        return -1;
      x4 = XEXP (x2, 0);
      operands[1] = x4;
      if (!register_operand (operands[1], V4SImode))
        return -1;
      x5 = XEXP (x2, 1);
      if (!rtx_equal_p (x5, operands[0])
          || !(
#line 1058 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 184 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 1265; /* avx512vl_storev4si_mask */

    case V8DImode:
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != V8DImode)
        return -1;
      x3 = XEXP (x2, 2);
      if (!register_operand (x3, QImode))
        return -1;
      operands[3] = x3;
      if (register_operand (operands[0], V8DImode))
        {
          x4 = XEXP (x2, 0);
          if (nonimmediate_operand (x4, V8DImode))
            {
              operands[1] = x4;
              x5 = XEXP (x2, 1);
              operands[2] = x5;
              if (vector_move_operand (operands[2], V8DImode)
                  && 
#line 993 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return 1230; /* avx512f_loadv8di_mask */
              operands[2] = x4;
              operands[1] = x5;
              if (register_operand (operands[1], V8DImode)
                  && 
#line 1034 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return 1248; /* avx512f_blendmv8di */
            }
        }
      operands[2] = x3;
      if (!memory_operand (operands[0], V8DImode))
        return -1;
      x4 = XEXP (x2, 0);
      operands[1] = x4;
      if (!register_operand (operands[1], V8DImode))
        return -1;
      x5 = XEXP (x2, 1);
      if (!rtx_equal_p (x5, operands[0])
          || !
#line 1058 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
        return -1;
      return 1266; /* avx512f_storev8di_mask */

    case V4DImode:
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != V4DImode)
        return -1;
      x3 = XEXP (x2, 2);
      if (!register_operand (x3, QImode))
        return -1;
      operands[3] = x3;
      if (register_operand (operands[0], V4DImode))
        {
          x4 = XEXP (x2, 0);
          if (nonimmediate_operand (x4, V4DImode))
            {
              operands[1] = x4;
              x5 = XEXP (x2, 1);
              operands[2] = x5;
              if (vector_move_operand (operands[2], V4DImode)
                  && (
#line 993 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 185 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return 1231; /* avx512vl_loadv4di_mask */
              operands[2] = x4;
              operands[1] = x5;
              if (register_operand (operands[1], V4DImode)
                  && (
#line 1034 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 185 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return 1249; /* avx512vl_blendmv4di */
            }
        }
      operands[2] = x3;
      if (!memory_operand (operands[0], V4DImode))
        return -1;
      x4 = XEXP (x2, 0);
      operands[1] = x4;
      if (!register_operand (operands[1], V4DImode))
        return -1;
      x5 = XEXP (x2, 1);
      if (!rtx_equal_p (x5, operands[0])
          || !(
#line 1058 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 185 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 1267; /* avx512vl_storev4di_mask */

    case V2DImode:
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != V2DImode)
        return -1;
      x3 = XEXP (x2, 2);
      if (!register_operand (x3, QImode))
        return -1;
      operands[3] = x3;
      if (register_operand (operands[0], V2DImode))
        {
          x4 = XEXP (x2, 0);
          if (nonimmediate_operand (x4, V2DImode))
            {
              operands[1] = x4;
              x5 = XEXP (x2, 1);
              operands[2] = x5;
              if (vector_move_operand (operands[2], V2DImode)
                  && (
#line 993 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 185 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return 1232; /* avx512vl_loadv2di_mask */
              operands[2] = x4;
              operands[1] = x5;
              if (register_operand (operands[1], V2DImode)
                  && (
#line 1034 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 185 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return 1250; /* avx512vl_blendmv2di */
            }
        }
      operands[2] = x3;
      if (!memory_operand (operands[0], V2DImode))
        return -1;
      x4 = XEXP (x2, 0);
      operands[1] = x4;
      if (!register_operand (operands[1], V2DImode))
        return -1;
      x5 = XEXP (x2, 1);
      if (!rtx_equal_p (x5, operands[0])
          || !(
#line 1058 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 185 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 1268; /* avx512vl_storev2di_mask */

    case V16SFmode:
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != V16SFmode)
        return -1;
      x3 = XEXP (x2, 2);
      if (!register_operand (x3, HImode))
        return -1;
      operands[3] = x3;
      if (register_operand (operands[0], V16SFmode))
        {
          x4 = XEXP (x2, 0);
          if (nonimmediate_operand (x4, V16SFmode))
            {
              operands[1] = x4;
              x5 = XEXP (x2, 1);
              operands[2] = x5;
              if (vector_move_operand (operands[2], V16SFmode)
                  && 
#line 993 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return 1233; /* avx512f_loadv16sf_mask */
              operands[2] = x4;
              operands[1] = x5;
              if (register_operand (operands[1], V16SFmode)
                  && 
#line 1034 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return 1251; /* avx512f_blendmv16sf */
            }
        }
      operands[2] = x3;
      if (!memory_operand (operands[0], V16SFmode))
        return -1;
      x4 = XEXP (x2, 0);
      operands[1] = x4;
      if (!register_operand (operands[1], V16SFmode))
        return -1;
      x5 = XEXP (x2, 1);
      if (!rtx_equal_p (x5, operands[0])
          || !
#line 1058 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
        return -1;
      return 1269; /* avx512f_storev16sf_mask */

    case V8SFmode:
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != V8SFmode)
        return -1;
      x3 = XEXP (x2, 2);
      if (!register_operand (x3, QImode))
        return -1;
      operands[3] = x3;
      if (register_operand (operands[0], V8SFmode))
        {
          x4 = XEXP (x2, 0);
          if (nonimmediate_operand (x4, V8SFmode))
            {
              operands[1] = x4;
              x5 = XEXP (x2, 1);
              operands[2] = x5;
              if (vector_move_operand (operands[2], V8SFmode)
                  && (
#line 993 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return 1234; /* avx512vl_loadv8sf_mask */
              operands[2] = x4;
              operands[1] = x5;
              if (register_operand (operands[1], V8SFmode)
                  && (
#line 1034 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return 1252; /* avx512vl_blendmv8sf */
            }
        }
      operands[2] = x3;
      if (!memory_operand (operands[0], V8SFmode))
        return -1;
      x4 = XEXP (x2, 0);
      operands[1] = x4;
      if (!register_operand (operands[1], V8SFmode))
        return -1;
      x5 = XEXP (x2, 1);
      if (!rtx_equal_p (x5, operands[0])
          || !(
#line 1058 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 1270; /* avx512vl_storev8sf_mask */

    case V4SFmode:
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != V4SFmode)
        return -1;
      x3 = XEXP (x2, 2);
      if (!register_operand (x3, QImode))
        return -1;
      operands[3] = x3;
      if (register_operand (operands[0], V4SFmode))
        {
          x4 = XEXP (x2, 0);
          if (nonimmediate_operand (x4, V4SFmode))
            {
              operands[1] = x4;
              x5 = XEXP (x2, 1);
              operands[2] = x5;
              if (vector_move_operand (operands[2], V4SFmode)
                  && (
#line 993 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return 1235; /* avx512vl_loadv4sf_mask */
              operands[2] = x4;
              operands[1] = x5;
              if (register_operand (operands[1], V4SFmode)
                  && (
#line 1034 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return 1253; /* avx512vl_blendmv4sf */
            }
        }
      operands[2] = x3;
      if (!memory_operand (operands[0], V4SFmode))
        return -1;
      x4 = XEXP (x2, 0);
      operands[1] = x4;
      if (!register_operand (operands[1], V4SFmode))
        return -1;
      x5 = XEXP (x2, 1);
      if (!rtx_equal_p (x5, operands[0])
          || !(
#line 1058 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 1271; /* avx512vl_storev4sf_mask */

    case V8DFmode:
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != V8DFmode)
        return -1;
      x3 = XEXP (x2, 2);
      if (!register_operand (x3, QImode))
        return -1;
      operands[3] = x3;
      if (register_operand (operands[0], V8DFmode))
        {
          x4 = XEXP (x2, 0);
          if (nonimmediate_operand (x4, V8DFmode))
            {
              operands[1] = x4;
              x5 = XEXP (x2, 1);
              operands[2] = x5;
              if (vector_move_operand (operands[2], V8DFmode)
                  && 
#line 993 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return 1236; /* avx512f_loadv8df_mask */
              operands[2] = x4;
              operands[1] = x5;
              if (register_operand (operands[1], V8DFmode)
                  && 
#line 1034 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return 1254; /* avx512f_blendmv8df */
            }
        }
      operands[2] = x3;
      if (!memory_operand (operands[0], V8DFmode))
        return -1;
      x4 = XEXP (x2, 0);
      operands[1] = x4;
      if (!register_operand (operands[1], V8DFmode))
        return -1;
      x5 = XEXP (x2, 1);
      if (!rtx_equal_p (x5, operands[0])
          || !
#line 1058 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
        return -1;
      return 1272; /* avx512f_storev8df_mask */

    case V4DFmode:
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != V4DFmode)
        return -1;
      x3 = XEXP (x2, 2);
      if (!register_operand (x3, QImode))
        return -1;
      operands[3] = x3;
      if (register_operand (operands[0], V4DFmode))
        {
          x4 = XEXP (x2, 0);
          if (nonimmediate_operand (x4, V4DFmode))
            {
              operands[1] = x4;
              x5 = XEXP (x2, 1);
              operands[2] = x5;
              if (vector_move_operand (operands[2], V4DFmode)
                  && (
#line 993 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 187 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return 1237; /* avx512vl_loadv4df_mask */
              operands[2] = x4;
              operands[1] = x5;
              if (register_operand (operands[1], V4DFmode)
                  && (
#line 1034 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 187 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return 1255; /* avx512vl_blendmv4df */
            }
        }
      operands[2] = x3;
      if (!memory_operand (operands[0], V4DFmode))
        return -1;
      x4 = XEXP (x2, 0);
      operands[1] = x4;
      if (!register_operand (operands[1], V4DFmode))
        return -1;
      x5 = XEXP (x2, 1);
      if (!rtx_equal_p (x5, operands[0])
          || !(
#line 1058 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 187 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 1273; /* avx512vl_storev4df_mask */

    case V2DFmode:
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != V2DFmode)
        return -1;
      x3 = XEXP (x2, 2);
      if (!register_operand (x3, QImode))
        return -1;
      operands[3] = x3;
      if (register_operand (operands[0], V2DFmode))
        {
          x4 = XEXP (x2, 0);
          if (nonimmediate_operand (x4, V2DFmode))
            {
              operands[1] = x4;
              x5 = XEXP (x2, 1);
              operands[2] = x5;
              if (vector_move_operand (operands[2], V2DFmode)
                  && (
#line 993 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 187 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return 1238; /* avx512vl_loadv2df_mask */
              operands[2] = x4;
              operands[1] = x5;
              if (register_operand (operands[1], V2DFmode)
                  && (
#line 1034 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 187 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return 1256; /* avx512vl_blendmv2df */
            }
        }
      operands[2] = x3;
      if (!memory_operand (operands[0], V2DFmode))
        return -1;
      x4 = XEXP (x2, 0);
      operands[1] = x4;
      if (!register_operand (operands[1], V2DFmode))
        return -1;
      x5 = XEXP (x2, 1);
      if (!rtx_equal_p (x5, operands[0])
          || !(
#line 1058 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 187 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 1274; /* avx512vl_storev2df_mask */

    case V64QImode:
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != V64QImode)
        return -1;
      x3 = XEXP (x2, 2);
      if (!register_operand (x3, DImode))
        return -1;
      operands[3] = x3;
      if (register_operand (operands[0], V64QImode))
        {
          x4 = XEXP (x2, 0);
          if (nonimmediate_operand (x4, V64QImode))
            {
              operands[1] = x4;
              x5 = XEXP (x2, 1);
              operands[2] = x5;
              if (vector_move_operand (operands[2], V64QImode)
                  && 
#line 1021 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
                return 1239; /* avx512bw_loadv64qi_mask */
              operands[2] = x4;
              operands[1] = x5;
              if (register_operand (operands[1], V64QImode)
                  && 
#line 1046 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
                return 1257; /* avx512bw_blendmv64qi */
            }
        }
      operands[2] = x3;
      if (!memory_operand (operands[0], V64QImode))
        return -1;
      x4 = XEXP (x2, 0);
      operands[1] = x4;
      if (!register_operand (operands[1], V64QImode))
        return -1;
      x5 = XEXP (x2, 1);
      if (!rtx_equal_p (x5, operands[0])
          || !
#line 1086 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
        return -1;
      return 1275; /* avx512bw_storev64qi_mask */

    case V16QImode:
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != V16QImode)
        return -1;
      x3 = XEXP (x2, 2);
      if (!register_operand (x3, HImode))
        return -1;
      operands[3] = x3;
      if (register_operand (operands[0], V16QImode))
        {
          x4 = XEXP (x2, 0);
          if (nonimmediate_operand (x4, V16QImode))
            {
              operands[1] = x4;
              x5 = XEXP (x2, 1);
              operands[2] = x5;
              if (vector_move_operand (operands[2], V16QImode)
                  && (
#line 1021 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return 1240; /* avx512vl_loadv16qi_mask */
              operands[2] = x4;
              operands[1] = x5;
              if (register_operand (operands[1], V16QImode)
                  && (
#line 1046 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return 1258; /* avx512vl_blendmv16qi */
            }
        }
      operands[2] = x3;
      if (!memory_operand (operands[0], V16QImode))
        return -1;
      x4 = XEXP (x2, 0);
      operands[1] = x4;
      if (!register_operand (operands[1], V16QImode))
        return -1;
      x5 = XEXP (x2, 1);
      if (!rtx_equal_p (x5, operands[0])
          || !(
#line 1086 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 1276; /* avx512vl_storev16qi_mask */

    case V32QImode:
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != V32QImode)
        return -1;
      x3 = XEXP (x2, 2);
      if (!register_operand (x3, SImode))
        return -1;
      operands[3] = x3;
      if (register_operand (operands[0], V32QImode))
        {
          x4 = XEXP (x2, 0);
          if (nonimmediate_operand (x4, V32QImode))
            {
              operands[1] = x4;
              x5 = XEXP (x2, 1);
              operands[2] = x5;
              if (vector_move_operand (operands[2], V32QImode)
                  && (
#line 1021 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return 1241; /* avx512vl_loadv32qi_mask */
              operands[2] = x4;
              operands[1] = x5;
              if (register_operand (operands[1], V32QImode)
                  && (
#line 1046 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return 1259; /* avx512vl_blendmv32qi */
            }
        }
      operands[2] = x3;
      if (!memory_operand (operands[0], V32QImode))
        return -1;
      x4 = XEXP (x2, 0);
      operands[1] = x4;
      if (!register_operand (operands[1], V32QImode))
        return -1;
      x5 = XEXP (x2, 1);
      if (!rtx_equal_p (x5, operands[0])
          || !(
#line 1086 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 1277; /* avx512vl_storev32qi_mask */

    case V32HImode:
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != V32HImode)
        return -1;
      x3 = XEXP (x2, 2);
      if (!register_operand (x3, SImode))
        return -1;
      operands[3] = x3;
      if (register_operand (operands[0], V32HImode))
        {
          x4 = XEXP (x2, 0);
          if (nonimmediate_operand (x4, V32HImode))
            {
              operands[1] = x4;
              x5 = XEXP (x2, 1);
              operands[2] = x5;
              if (vector_move_operand (operands[2], V32HImode)
                  && 
#line 1021 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
                return 1242; /* avx512bw_loadv32hi_mask */
              operands[2] = x4;
              operands[1] = x5;
              if (register_operand (operands[1], V32HImode)
                  && 
#line 1046 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
                return 1260; /* avx512bw_blendmv32hi */
            }
        }
      operands[2] = x3;
      if (!memory_operand (operands[0], V32HImode))
        return -1;
      x4 = XEXP (x2, 0);
      operands[1] = x4;
      if (!register_operand (operands[1], V32HImode))
        return -1;
      x5 = XEXP (x2, 1);
      if (!rtx_equal_p (x5, operands[0])
          || !
#line 1086 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
        return -1;
      return 1278; /* avx512bw_storev32hi_mask */

    case V16HImode:
      return recog_69 (x1, insn, pnum_clobbers);

    case V8HImode:
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != V8HImode)
        return -1;
      x3 = XEXP (x2, 2);
      if (!register_operand (x3, QImode))
        return -1;
      operands[3] = x3;
      if (register_operand (operands[0], V8HImode))
        {
          x4 = XEXP (x2, 0);
          if (nonimmediate_operand (x4, V8HImode))
            {
              operands[1] = x4;
              x5 = XEXP (x2, 1);
              operands[2] = x5;
              if (vector_move_operand (operands[2], V8HImode)
                  && (
#line 1021 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return 1244; /* avx512vl_loadv8hi_mask */
              operands[2] = x4;
              operands[1] = x5;
              if (register_operand (operands[1], V8HImode)
                  && (
#line 1046 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return 1262; /* avx512vl_blendmv8hi */
            }
        }
      operands[2] = x3;
      if (!memory_operand (operands[0], V8HImode))
        return -1;
      x4 = XEXP (x2, 0);
      operands[1] = x4;
      if (!register_operand (operands[1], V8HImode))
        return -1;
      x5 = XEXP (x2, 1);
      if (!rtx_equal_p (x5, operands[0])
          || !(
#line 1086 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 1280; /* avx512vl_storev8hi_mask */

    default:
      return -1;
    }
}

static int
recog_71 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XVECEXP (x3, 0, 2);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
    case MEM:
      operands[3] = x4;
      x5 = XEXP (x2, 1);
      switch (GET_CODE (x5))
        {
        case CONST_INT:
        case CONST_DOUBLE:
        case CONST_VECTOR:
          operands[4] = x5;
          x6 = XEXP (x2, 2);
          operands[5] = x6;
          switch (GET_MODE (operands[0]))
            {
            case V16SFmode:
              if (pattern651 (x2, V16SFmode, HImode) != 0
                  || !
#line 3929 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1))
                return -1;
              return 1982; /* fma_fmaddsub_v16sf_maskz_1 */

            case V8SFmode:
              if (pattern651 (x2, V8SFmode, QImode) != 0
                  || !(
#line 3929 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) && 
#line 3616 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 1985; /* fma_fmaddsub_v8sf_maskz_1 */

            case V4SFmode:
              if (pattern651 (x2, V4SFmode, QImode) != 0
                  || !(
#line 3929 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) && 
#line 3616 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 1987; /* fma_fmaddsub_v4sf_maskz_1 */

            case V8DFmode:
              if (pattern651 (x2, V8DFmode, QImode) != 0
                  || !
#line 3929 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1))
                return -1;
              return 1991; /* fma_fmaddsub_v8df_maskz_1 */

            case V4DFmode:
              if (pattern651 (x2, V4DFmode, QImode) != 0
                  || !(
#line 3929 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) && 
#line 3617 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 1994; /* fma_fmaddsub_v4df_maskz_1 */

            case V2DFmode:
              if (pattern651 (x2, V2DFmode, QImode) != 0
                  || !(
#line 3929 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) && 
#line 3617 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 1996; /* fma_fmaddsub_v2df_maskz_1 */

            default:
              return -1;
            }

        case REG:
        case SUBREG:
          x6 = XEXP (x2, 2);
          operands[4] = x6;
          switch (GET_MODE (operands[0]))
            {
            case V16SFmode:
              if (pattern595 (x2, V16SFmode, HImode) != 0)
                return -1;
              if (nonimmediate_operand (operands[3], V16SFmode)
                  && rtx_equal_p (x5, operands[1])
                  && 
#line 3947 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return 1997; /* avx512f_fmaddsub_v16sf_mask */
              if (!register_operand (operands[3], V16SFmode)
                  || !rtx_equal_p (x5, operands[3])
                  || !
#line 3965 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return -1;
              return 2009; /* avx512f_fmaddsub_v16sf_mask3 */

            case V8SFmode:
              if (pattern595 (x2, V8SFmode, QImode) != 0)
                return -1;
              if (nonimmediate_operand (operands[3], V8SFmode)
                  && rtx_equal_p (x5, operands[1])
                  && (
#line 3947 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return 1999; /* avx512vl_fmaddsub_v8sf_mask */
              if (!register_operand (operands[3], V8SFmode)
                  || !rtx_equal_p (x5, operands[3])
                  || !(
#line 3965 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 2011; /* avx512vl_fmaddsub_v8sf_mask3 */

            case V4SFmode:
              if (pattern595 (x2, V4SFmode, QImode) != 0)
                return -1;
              if (nonimmediate_operand (operands[3], V4SFmode)
                  && rtx_equal_p (x5, operands[1])
                  && (
#line 3947 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return 2001; /* avx512vl_fmaddsub_v4sf_mask */
              if (!register_operand (operands[3], V4SFmode)
                  || !rtx_equal_p (x5, operands[3])
                  || !(
#line 3965 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 2013; /* avx512vl_fmaddsub_v4sf_mask3 */

            case V8DFmode:
              if (pattern595 (x2, V8DFmode, QImode) != 0)
                return -1;
              if (nonimmediate_operand (operands[3], V8DFmode)
                  && rtx_equal_p (x5, operands[1])
                  && 
#line 3947 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return 2003; /* avx512f_fmaddsub_v8df_mask */
              if (!register_operand (operands[3], V8DFmode)
                  || !rtx_equal_p (x5, operands[3])
                  || !
#line 3965 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return -1;
              return 2015; /* avx512f_fmaddsub_v8df_mask3 */

            case V4DFmode:
              if (pattern595 (x2, V4DFmode, QImode) != 0)
                return -1;
              if (nonimmediate_operand (operands[3], V4DFmode)
                  && rtx_equal_p (x5, operands[1])
                  && (
#line 3947 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return 2005; /* avx512vl_fmaddsub_v4df_mask */
              if (!register_operand (operands[3], V4DFmode)
                  || !rtx_equal_p (x5, operands[3])
                  || !(
#line 3965 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 2017; /* avx512vl_fmaddsub_v4df_mask3 */

            case V2DFmode:
              if (pattern595 (x2, V2DFmode, QImode) != 0)
                return -1;
              if (nonimmediate_operand (operands[3], V2DFmode)
                  && rtx_equal_p (x5, operands[1])
                  && (
#line 3947 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return 2007; /* avx512vl_fmaddsub_v2df_mask */
              if (!register_operand (operands[3], V2DFmode)
                  || !rtx_equal_p (x5, operands[3])
                  || !(
#line 3965 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 2019; /* avx512vl_fmaddsub_v2df_mask3 */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case NEG:
      x7 = XEXP (x4, 0);
      operands[3] = x7;
      x5 = XEXP (x2, 1);
      switch (GET_CODE (x5))
        {
        case CONST_INT:
        case CONST_DOUBLE:
        case CONST_VECTOR:
          operands[4] = x5;
          x6 = XEXP (x2, 2);
          operands[5] = x6;
          switch (GET_MODE (operands[0]))
            {
            case V16SFmode:
              if (pattern652 (x2, V16SFmode, HImode) != 0
                  || !
#line 3998 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1))
                return -1;
              return 2028; /* fma_fmsubadd_v16sf_maskz_1 */

            case V8SFmode:
              if (pattern652 (x2, V8SFmode, QImode) != 0
                  || !(
#line 3998 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) && 
#line 3616 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 2031; /* fma_fmsubadd_v8sf_maskz_1 */

            case V4SFmode:
              if (pattern652 (x2, V4SFmode, QImode) != 0
                  || !(
#line 3998 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) && 
#line 3616 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 2033; /* fma_fmsubadd_v4sf_maskz_1 */

            case V8DFmode:
              if (pattern652 (x2, V8DFmode, QImode) != 0
                  || !
#line 3998 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1))
                return -1;
              return 2037; /* fma_fmsubadd_v8df_maskz_1 */

            case V4DFmode:
              if (pattern652 (x2, V4DFmode, QImode) != 0
                  || !(
#line 3998 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) && 
#line 3617 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 2040; /* fma_fmsubadd_v4df_maskz_1 */

            case V2DFmode:
              if (pattern652 (x2, V2DFmode, QImode) != 0
                  || !(
#line 3998 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) && 
#line 3617 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 2042; /* fma_fmsubadd_v2df_maskz_1 */

            default:
              return -1;
            }

        case REG:
        case SUBREG:
          x6 = XEXP (x2, 2);
          operands[4] = x6;
          switch (GET_MODE (operands[0]))
            {
            case V16SFmode:
              if (pattern596 (x2, V16SFmode, HImode) != 0)
                return -1;
              if (nonimmediate_operand (operands[3], V16SFmode)
                  && rtx_equal_p (x5, operands[1])
                  && 
#line 4017 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return 2043; /* avx512f_fmsubadd_v16sf_mask */
              if (!register_operand (operands[3], V16SFmode)
                  || !rtx_equal_p (x5, operands[3])
                  || !
#line 4036 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return -1;
              return 2055; /* avx512f_fmsubadd_v16sf_mask3 */

            case V8SFmode:
              if (pattern596 (x2, V8SFmode, QImode) != 0)
                return -1;
              if (nonimmediate_operand (operands[3], V8SFmode)
                  && rtx_equal_p (x5, operands[1])
                  && (
#line 4017 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return 2045; /* avx512vl_fmsubadd_v8sf_mask */
              if (!register_operand (operands[3], V8SFmode)
                  || !rtx_equal_p (x5, operands[3])
                  || !(
#line 4036 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 2057; /* avx512vl_fmsubadd_v8sf_mask3 */

            case V4SFmode:
              if (pattern596 (x2, V4SFmode, QImode) != 0)
                return -1;
              if (nonimmediate_operand (operands[3], V4SFmode)
                  && rtx_equal_p (x5, operands[1])
                  && (
#line 4017 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return 2047; /* avx512vl_fmsubadd_v4sf_mask */
              if (!register_operand (operands[3], V4SFmode)
                  || !rtx_equal_p (x5, operands[3])
                  || !(
#line 4036 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 2059; /* avx512vl_fmsubadd_v4sf_mask3 */

            case V8DFmode:
              if (pattern596 (x2, V8DFmode, QImode) != 0)
                return -1;
              if (nonimmediate_operand (operands[3], V8DFmode)
                  && rtx_equal_p (x5, operands[1])
                  && 
#line 4017 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return 2049; /* avx512f_fmsubadd_v8df_mask */
              if (!register_operand (operands[3], V8DFmode)
                  || !rtx_equal_p (x5, operands[3])
                  || !
#line 4036 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return -1;
              return 2061; /* avx512f_fmsubadd_v8df_mask3 */

            case V4DFmode:
              if (pattern596 (x2, V4DFmode, QImode) != 0)
                return -1;
              if (nonimmediate_operand (operands[3], V4DFmode)
                  && rtx_equal_p (x5, operands[1])
                  && (
#line 4017 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return 2051; /* avx512vl_fmsubadd_v4df_mask */
              if (!register_operand (operands[3], V4DFmode)
                  || !rtx_equal_p (x5, operands[3])
                  || !(
#line 4036 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 2063; /* avx512vl_fmsubadd_v4df_mask3 */

            case V2DFmode:
              if (pattern596 (x2, V2DFmode, QImode) != 0)
                return -1;
              if (nonimmediate_operand (operands[3], V2DFmode)
                  && rtx_equal_p (x5, operands[1])
                  && (
#line 4017 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return 2053; /* avx512vl_fmsubadd_v2df_mask */
              if (!register_operand (operands[3], V2DFmode)
                  || !rtx_equal_p (x5, operands[3])
                  || !(
#line 4036 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 2065; /* avx512vl_fmsubadd_v2df_mask3 */

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_72 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XVECEXP (x3, 0, 2);
  operands[3] = x4;
  x5 = XEXP (x2, 1);
  switch (GET_CODE (x5))
    {
    case CONST_INT:
    case CONST_DOUBLE:
    case CONST_VECTOR:
      operands[4] = x5;
      x6 = XEXP (x2, 2);
      operands[5] = x6;
      switch (GET_MODE (operands[0]))
        {
        case V16SImode:
          if (pattern564 (x2, HImode, V16SImode) != 0
              || !
#line 18194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 4362; /* avx512f_vpermt2varv16si3_maskz_1 */

        case V16SFmode:
          if (pattern598 (x2, V16SFmode, V16SImode, HImode) != 0
              || !
#line 18194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 4364; /* avx512f_vpermt2varv16sf3_maskz_1 */

        case V8DImode:
          if (pattern564 (x2, QImode, V8DImode) != 0
              || !
#line 18194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 4366; /* avx512f_vpermt2varv8di3_maskz_1 */

        case V8DFmode:
          if (pattern598 (x2, V8DFmode, V8DImode, QImode) != 0
              || !
#line 18194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 4368; /* avx512f_vpermt2varv8df3_maskz_1 */

        case V8SImode:
          if (pattern564 (x2, QImode, V8SImode) != 0
              || !(
#line 18194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4370; /* avx512vl_vpermt2varv8si3_maskz_1 */

        case V8SFmode:
          if (pattern598 (x2, V8SFmode, V8SImode, QImode) != 0
              || !(
#line 18194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4372; /* avx512vl_vpermt2varv8sf3_maskz_1 */

        case V4DImode:
          if (pattern564 (x2, QImode, V4DImode) != 0
              || !(
#line 18194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4374; /* avx512vl_vpermt2varv4di3_maskz_1 */

        case V4DFmode:
          if (pattern598 (x2, V4DFmode, V4DImode, QImode) != 0
              || !(
#line 18194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4376; /* avx512vl_vpermt2varv4df3_maskz_1 */

        case V4SImode:
          if (pattern564 (x2, QImode, V4SImode) != 0
              || !(
#line 18194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4378; /* avx512vl_vpermt2varv4si3_maskz_1 */

        case V4SFmode:
          if (pattern598 (x2, V4SFmode, V4SImode, QImode) != 0
              || !(
#line 18194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4380; /* avx512vl_vpermt2varv4sf3_maskz_1 */

        case V2DImode:
          if (pattern564 (x2, QImode, V2DImode) != 0
              || !(
#line 18194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4382; /* avx512vl_vpermt2varv2di3_maskz_1 */

        case V2DFmode:
          if (pattern598 (x2, V2DFmode, V2DImode, QImode) != 0
              || !(
#line 18194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4384; /* avx512vl_vpermt2varv2df3_maskz_1 */

        case V64QImode:
          if (pattern564 (x2, DImode, V64QImode) != 0
              || !
#line 18207 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VBMI))
            return -1;
          return 4386; /* avx512bw_vpermt2varv64qi3_maskz_1 */

        case V16QImode:
          if (pattern564 (x2, HImode, V16QImode) != 0
              || !(
#line 18207 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VBMI) && 
#line 195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4388; /* avx512vl_vpermt2varv16qi3_maskz_1 */

        case V32QImode:
          if (pattern564 (x2, SImode, V32QImode) != 0
              || !(
#line 18207 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VBMI) && 
#line 195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4390; /* avx512vl_vpermt2varv32qi3_maskz_1 */

        case V8HImode:
          if (pattern564 (x2, QImode, V8HImode) != 0
              || !(
#line 18220 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 351 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4392; /* avx512vl_vpermt2varv8hi3_maskz_1 */

        case V16HImode:
          if (pattern564 (x2, HImode, V16HImode) != 0
              || !(
#line 18220 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 351 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4394; /* avx512vl_vpermt2varv16hi3_maskz_1 */

        case V32HImode:
          if (pattern564 (x2, SImode, V32HImode) != 0
              || !
#line 18220 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
            return -1;
          return 4396; /* avx512bw_vpermt2varv32hi3_maskz_1 */

        default:
          return -1;
        }

    case REG:
    case SUBREG:
      if (!rtx_equal_p (x5, operands[2]))
        return -1;
      x6 = XEXP (x2, 2);
      operands[4] = x6;
      switch (GET_MODE (operands[0]))
        {
        case V16SImode:
          if (pattern566 (x2, HImode, V16SImode) != 0
              || !
#line 18236 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 4397; /* avx512f_vpermt2varv16si3_mask */

        case V16SFmode:
          if (pattern599 (x2, V16SFmode, V16SImode, HImode) != 0
              || !
#line 18236 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 4398; /* avx512f_vpermt2varv16sf3_mask */

        case V8DImode:
          if (pattern566 (x2, QImode, V8DImode) != 0
              || !
#line 18236 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 4399; /* avx512f_vpermt2varv8di3_mask */

        case V8DFmode:
          if (pattern599 (x2, V8DFmode, V8DImode, QImode) != 0
              || !
#line 18236 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 4400; /* avx512f_vpermt2varv8df3_mask */

        case V8SImode:
          if (pattern566 (x2, QImode, V8SImode) != 0
              || !(
#line 18236 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4401; /* avx512vl_vpermt2varv8si3_mask */

        case V8SFmode:
          if (pattern599 (x2, V8SFmode, V8SImode, QImode) != 0
              || !(
#line 18236 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4402; /* avx512vl_vpermt2varv8sf3_mask */

        case V4DImode:
          if (pattern566 (x2, QImode, V4DImode) != 0
              || !(
#line 18236 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4403; /* avx512vl_vpermt2varv4di3_mask */

        case V4DFmode:
          if (pattern599 (x2, V4DFmode, V4DImode, QImode) != 0
              || !(
#line 18236 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4404; /* avx512vl_vpermt2varv4df3_mask */

        case V4SImode:
          if (pattern566 (x2, QImode, V4SImode) != 0
              || !(
#line 18236 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4405; /* avx512vl_vpermt2varv4si3_mask */

        case V4SFmode:
          if (pattern599 (x2, V4SFmode, V4SImode, QImode) != 0
              || !(
#line 18236 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4406; /* avx512vl_vpermt2varv4sf3_mask */

        case V2DImode:
          if (pattern566 (x2, QImode, V2DImode) != 0
              || !(
#line 18236 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4407; /* avx512vl_vpermt2varv2di3_mask */

        case V2DFmode:
          if (pattern599 (x2, V2DFmode, V2DImode, QImode) != 0
              || !(
#line 18236 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4408; /* avx512vl_vpermt2varv2df3_mask */

        case V64QImode:
          if (pattern566 (x2, DImode, V64QImode) != 0
              || !
#line 18252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VBMI))
            return -1;
          return 4409; /* avx512bw_vpermt2varv64qi3_mask */

        case V16QImode:
          if (pattern566 (x2, HImode, V16QImode) != 0
              || !(
#line 18252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VBMI) && 
#line 195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4410; /* avx512vl_vpermt2varv16qi3_mask */

        case V32QImode:
          if (pattern566 (x2, SImode, V32QImode) != 0
              || !(
#line 18252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VBMI) && 
#line 195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4411; /* avx512vl_vpermt2varv32qi3_mask */

        case V8HImode:
          if (pattern566 (x2, QImode, V8HImode) != 0
              || !(
#line 18268 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 351 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4412; /* avx512vl_vpermt2varv8hi3_mask */

        case V16HImode:
          if (pattern566 (x2, HImode, V16HImode) != 0
              || !(
#line 18268 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 351 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4413; /* avx512vl_vpermt2varv16hi3_mask */

        case V32HImode:
          if (pattern566 (x2, SImode, V32HImode) != 0
              || !
#line 18268 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
            return -1;
          return 4414; /* avx512bw_vpermt2varv32hi3_mask */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_73 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XVECEXP (x3, 0, 0);
  operands[1] = x4;
  x5 = XVECEXP (x3, 0, 1);
  operands[2] = x5;
  switch (XINT (x3, 1))
    {
    case 192:
      x6 = XEXP (x2, 2);
      if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
        return -1;
      x7 = XVECEXP (x3, 0, 2);
      operands[3] = x7;
      if (!const_0_to_255_operand (operands[3], SImode))
        return -1;
      switch (pattern531 (x2))
        {
        case 0:
          if (!
#line 2478 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ))
            return -1;
          return 1621; /* reducesv4sf */

        case 1:
          if (!(
#line 2478 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
            return -1;
          return 1622; /* reducesv2df */

        default:
          return -1;
        }

    case 136:
      x6 = XEXP (x2, 2);
      if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
        return -1;
      x7 = XVECEXP (x3, 0, 2);
      operands[3] = x7;
      if (!const_0_to_31_operand (operands[3], SImode))
        return -1;
      switch (pattern531 (x2))
        {
        case 0:
          if (!
#line 2514 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
            return -1;
          return 1627; /* avx_vmcmpv4sf3 */

        case 1:
          if (!(
#line 2514 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
            return -1;
          return 1628; /* avx_vmcmpv2df3 */

        default:
          return -1;
        }

    case 124:
      return recog_71 (x1, insn, pnum_clobbers);

    case 163:
      x7 = XVECEXP (x3, 0, 2);
      operands[3] = x7;
      if (!const_0_to_255_operand (operands[3], SImode))
        return -1;
      x8 = XEXP (x2, 1);
      operands[4] = x8;
      x6 = XEXP (x2, 2);
      operands[5] = x6;
      switch (GET_MODE (operands[0]))
        {
        case V16SImode:
          if (pattern597 (x2, HImode, V16SImode) != 0
              || !
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
            return -1;
          return 2606; /* avx512f_alignv16si_mask */

        case V8SImode:
          if (pattern597 (x2, QImode, V8SImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8282 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 2608; /* avx512vl_alignv8si_mask */

        case V4SImode:
          if (pattern597 (x2, QImode, V4SImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8282 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 2610; /* avx512vl_alignv4si_mask */

        case V8DImode:
          if (pattern597 (x2, QImode, V8DImode) != 0
              || !
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
            return -1;
          return 2612; /* avx512f_alignv8di_mask */

        case V4DImode:
          if (pattern597 (x2, QImode, V4DImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8282 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 2614; /* avx512vl_alignv4di_mask */

        case V2DImode:
          if (pattern597 (x2, QImode, V2DImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8282 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 2616; /* avx512vl_alignv2di_mask */

        default:
          return -1;
        }

    case 83:
      x6 = XEXP (x2, 2);
      if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
        return -1;
      x7 = XVECEXP (x3, 0, 2);
      operands[3] = x7;
      if (!const_0_to_255_operand (operands[3], SImode))
        return -1;
      switch (pattern410 (x2))
        {
        case 0:
          if (!
#line 8437 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2689; /* avx512f_rndscalev4sf */

        case 1:
          if (!(
#line 8437 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
            return -1;
          return 2691; /* avx512f_rndscalev2df */

        default:
          return -1;
        }

    case 110:
      x7 = XVECEXP (x3, 0, 2);
      operands[3] = x7;
      if (!const_0_to_255_mul_8_operand (operands[3], SImode))
        return -1;
      x8 = XEXP (x2, 1);
      operands[4] = x8;
      x6 = XEXP (x2, 2);
      operands[5] = x6;
      switch (GET_MODE (operands[0]))
        {
        case V64QImode:
          if (pattern597 (x2, DImode, V64QImode) != 0
              || !(
#line 14798 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW && (64 == 64 || TARGET_AVX512VL)) && 
#line 326 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 3760; /* avx512bw_palignrv64qi_mask */

        case V32QImode:
          if (pattern597 (x2, SImode, V32QImode) != 0
              || !(
#line 14798 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW && (32 == 64 || TARGET_AVX512VL)) && 
#line 326 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
            return -1;
          return 3761; /* avx2_palignrv32qi_mask */

        case V16QImode:
          if (pattern597 (x2, HImode, V16QImode) != 0
              || !
#line 14798 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW && (16 == 64 || TARGET_AVX512VL)))
            return -1;
          return 3762; /* ssse3_palignrv16qi_mask */

        default:
          return -1;
        }

    case 148:
      x7 = XVECEXP (x3, 0, 2);
      operands[3] = x7;
      x8 = XEXP (x2, 1);
      operands[4] = x8;
      x6 = XEXP (x2, 2);
      operands[5] = x6;
      switch (GET_MODE (operands[0]))
        {
        case V16SImode:
          if (pattern564 (x2, HImode, V16SImode) != 0
              || !
#line 18065 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 4308; /* avx512f_vpermi2varv16si3_maskz_1 */

        case V16SFmode:
          if (pattern565 (x2, V16SFmode, V16SImode, HImode) != 0
              || !
#line 18065 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 4310; /* avx512f_vpermi2varv16sf3_maskz_1 */

        case V8DImode:
          if (pattern564 (x2, QImode, V8DImode) != 0
              || !
#line 18065 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 4312; /* avx512f_vpermi2varv8di3_maskz_1 */

        case V8DFmode:
          if (pattern565 (x2, V8DFmode, V8DImode, QImode) != 0
              || !
#line 18065 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 4314; /* avx512f_vpermi2varv8df3_maskz_1 */

        case V8SImode:
          if (pattern564 (x2, QImode, V8SImode) != 0
              || !(
#line 18065 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4316; /* avx512vl_vpermi2varv8si3_maskz_1 */

        case V8SFmode:
          if (pattern565 (x2, V8SFmode, V8SImode, QImode) != 0
              || !(
#line 18065 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4318; /* avx512vl_vpermi2varv8sf3_maskz_1 */

        case V4DImode:
          if (pattern564 (x2, QImode, V4DImode) != 0
              || !(
#line 18065 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4320; /* avx512vl_vpermi2varv4di3_maskz_1 */

        case V4DFmode:
          if (pattern565 (x2, V4DFmode, V4DImode, QImode) != 0
              || !(
#line 18065 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4322; /* avx512vl_vpermi2varv4df3_maskz_1 */

        case V4SImode:
          if (pattern564 (x2, QImode, V4SImode) != 0
              || !(
#line 18065 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4324; /* avx512vl_vpermi2varv4si3_maskz_1 */

        case V4SFmode:
          if (pattern565 (x2, V4SFmode, V4SImode, QImode) != 0
              || !(
#line 18065 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4326; /* avx512vl_vpermi2varv4sf3_maskz_1 */

        case V2DImode:
          if (pattern564 (x2, QImode, V2DImode) != 0
              || !(
#line 18065 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4328; /* avx512vl_vpermi2varv2di3_maskz_1 */

        case V2DFmode:
          if (pattern565 (x2, V2DFmode, V2DImode, QImode) != 0
              || !(
#line 18065 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4330; /* avx512vl_vpermi2varv2df3_maskz_1 */

        case V64QImode:
          if (pattern564 (x2, DImode, V64QImode) != 0
              || !
#line 18078 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VBMI))
            return -1;
          return 4332; /* avx512bw_vpermi2varv64qi3_maskz_1 */

        case V16QImode:
          if (pattern564 (x2, HImode, V16QImode) != 0
              || !(
#line 18078 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VBMI) && 
#line 195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4334; /* avx512vl_vpermi2varv16qi3_maskz_1 */

        case V32QImode:
          if (pattern564 (x2, SImode, V32QImode) != 0
              || !(
#line 18078 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VBMI) && 
#line 195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4336; /* avx512vl_vpermi2varv32qi3_maskz_1 */

        case V8HImode:
          if (pattern564 (x2, QImode, V8HImode) != 0
              || !(
#line 18091 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 351 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4338; /* avx512vl_vpermi2varv8hi3_maskz_1 */

        case V16HImode:
          if (pattern564 (x2, HImode, V16HImode) != 0
              || !(
#line 18091 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 351 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4340; /* avx512vl_vpermi2varv16hi3_maskz_1 */

        case V32HImode:
          if (pattern564 (x2, SImode, V32HImode) != 0
              || !
#line 18091 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
            return -1;
          return 4342; /* avx512bw_vpermi2varv32hi3_maskz_1 */

        default:
          return -1;
        }

    case 150:
      x7 = XVECEXP (x3, 0, 2);
      operands[3] = x7;
      x6 = XEXP (x2, 2);
      operands[4] = x6;
      x8 = XEXP (x2, 1);
      if (!rtx_equal_p (x8, operands[0]))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case V16SImode:
          if (pattern566 (x2, HImode, V16SImode) != 0
              || !
#line 18107 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 4343; /* avx512f_vpermi2varv16si3_mask */

        case V16SFmode:
          if (pattern567 (x2, V16SFmode, V16SImode, HImode) != 0
              || !
#line 18107 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 4344; /* avx512f_vpermi2varv16sf3_mask */

        case V8DImode:
          if (pattern566 (x2, QImode, V8DImode) != 0
              || !
#line 18107 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 4345; /* avx512f_vpermi2varv8di3_mask */

        case V8DFmode:
          if (pattern567 (x2, V8DFmode, V8DImode, QImode) != 0
              || !
#line 18107 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 4346; /* avx512f_vpermi2varv8df3_mask */

        case V8SImode:
          if (pattern566 (x2, QImode, V8SImode) != 0
              || !(
#line 18107 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4347; /* avx512vl_vpermi2varv8si3_mask */

        case V8SFmode:
          if (pattern567 (x2, V8SFmode, V8SImode, QImode) != 0
              || !(
#line 18107 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4348; /* avx512vl_vpermi2varv8sf3_mask */

        case V4DImode:
          if (pattern566 (x2, QImode, V4DImode) != 0
              || !(
#line 18107 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4349; /* avx512vl_vpermi2varv4di3_mask */

        case V4DFmode:
          if (pattern567 (x2, V4DFmode, V4DImode, QImode) != 0
              || !(
#line 18107 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4350; /* avx512vl_vpermi2varv4df3_mask */

        case V4SImode:
          if (pattern566 (x2, QImode, V4SImode) != 0
              || !(
#line 18107 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4351; /* avx512vl_vpermi2varv4si3_mask */

        case V4SFmode:
          if (pattern567 (x2, V4SFmode, V4SImode, QImode) != 0
              || !(
#line 18107 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4352; /* avx512vl_vpermi2varv4sf3_mask */

        case V2DImode:
          if (pattern566 (x2, QImode, V2DImode) != 0
              || !(
#line 18107 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4353; /* avx512vl_vpermi2varv2di3_mask */

        case V2DFmode:
          if (pattern567 (x2, V2DFmode, V2DImode, QImode) != 0
              || !(
#line 18107 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4354; /* avx512vl_vpermi2varv2df3_mask */

        case V64QImode:
          if (pattern566 (x2, DImode, V64QImode) != 0
              || !
#line 18123 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VBMI))
            return -1;
          return 4355; /* avx512bw_vpermi2varv64qi3_mask */

        case V16QImode:
          if (pattern566 (x2, HImode, V16QImode) != 0
              || !(
#line 18123 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VBMI) && 
#line 195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4356; /* avx512vl_vpermi2varv16qi3_mask */

        case V32QImode:
          if (pattern566 (x2, SImode, V32QImode) != 0
              || !(
#line 18123 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VBMI) && 
#line 195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4357; /* avx512vl_vpermi2varv32qi3_mask */

        case V8HImode:
          if (pattern566 (x2, QImode, V8HImode) != 0
              || !(
#line 18139 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 351 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4358; /* avx512vl_vpermi2varv8hi3_mask */

        case V16HImode:
          if (pattern566 (x2, HImode, V16HImode) != 0
              || !(
#line 18139 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 351 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4359; /* avx512vl_vpermi2varv16hi3_mask */

        case V32HImode:
          if (pattern566 (x2, SImode, V32HImode) != 0
              || !
#line 18139 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
            return -1;
          return 4360; /* avx512bw_vpermi2varv32hi3_mask */

        default:
          return -1;
        }

    case 149:
      return recog_72 (x1, insn, pnum_clobbers);

    case 194:
      x7 = XVECEXP (x3, 0, 2);
      operands[3] = x7;
      if (!const_0_to_15_operand (operands[3], SImode))
        return -1;
      x6 = XEXP (x2, 2);
      switch (GET_CODE (x6))
        {
        case REG:
        case SUBREG:
          operands[5] = x6;
          x8 = XEXP (x2, 1);
          operands[4] = x8;
          switch (GET_MODE (operands[0]))
            {
            case V16SFmode:
              if (pattern653 (x2, V16SFmode, HImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 19422 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1)))
                return -1;
              return 4803; /* avx512dq_rangepv16sf_mask */

            case V8SFmode:
              if (pattern653 (x2, V8SFmode, QImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 19422 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4806; /* avx512dq_rangepv8sf_mask */

            case V4SFmode:
              if (pattern653 (x2, V4SFmode, QImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 19422 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4808; /* avx512dq_rangepv4sf_mask */

            case V8DFmode:
              if (pattern653 (x2, V8DFmode, QImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 19422 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1)))
                return -1;
              return 4811; /* avx512dq_rangepv8df_mask */

            case V4DFmode:
              if (pattern653 (x2, V4DFmode, QImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 19422 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4814; /* avx512dq_rangepv4df_mask */

            case V2DFmode:
              if (pattern653 (x2, V2DFmode, QImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 19422 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4816; /* avx512dq_rangepv2df_mask */

            default:
              return -1;
            }

        case CONST_INT:
          if (XWINT (x6, 0) != 1LL)
            return -1;
          switch (pattern410 (x2))
            {
            case 0:
              if (!
#line 19438 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ))
                return -1;
              return 4817; /* avx512dq_rangesv4sf */

            case 1:
              if (!(
#line 19438 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
                return -1;
              return 4819; /* avx512dq_rangesv2df */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 162:
      x6 = XEXP (x2, 2);
      if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
        return -1;
      x7 = XVECEXP (x3, 0, 2);
      operands[3] = x7;
      if (!const_0_to_15_operand (operands[3], SImode))
        return -1;
      switch (pattern410 (x2))
        {
        case 0:
          if (!
#line 19493 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 4859; /* avx512f_vgetmantv4sf */

        case 1:
          if (!(
#line 19493 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
            return -1;
          return 4861; /* avx512f_vgetmantv2df */

        default:
          return -1;
        }

    case 186:
      x7 = XVECEXP (x3, 0, 2);
      operands[3] = x7;
      if (!const_0_to_255_operand (operands[3], SImode))
        return -1;
      x8 = XEXP (x2, 1);
      operands[4] = x8;
      x6 = XEXP (x2, 2);
      operands[5] = x6;
      switch (GET_MODE (operands[0]))
        {
        case V8HImode:
          if (pattern600 (x2, QImode, V8HImode, V16QImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 19507 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 351 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 4864; /* avx512bw_dbpsadbwv8hi_mask */

        case V16HImode:
          if (pattern600 (x2, HImode, V16HImode, V32QImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 19507 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 351 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 4866; /* avx512bw_dbpsadbwv16hi_mask */

        case V32HImode:
          if (pattern600 (x2, SImode, V32HImode, V64QImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 19507 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 4868; /* avx512bw_dbpsadbwv32hi_mask */

        default:
          return -1;
        }

    case 195:
      switch (pattern367 (x2))
        {
        case 0:
          if (!
#line 19693 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512IFMA))
            return -1;
          return 4907; /* vpamdd52luqv8di_maskz_1 */

        case 1:
          if (!(
#line 19693 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512IFMA) && 
#line 317 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4911; /* vpamdd52luqv4di_maskz_1 */

        case 2:
          if (!(
#line 19693 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512IFMA) && 
#line 317 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4915; /* vpamdd52luqv2di_maskz_1 */

        case 3:
          if (!
#line 19709 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512IFMA))
            return -1;
          return 4918; /* vpamdd52luqv8di_mask */

        case 4:
          if (!(
#line 19709 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512IFMA) && 
#line 317 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4920; /* vpamdd52luqv4di_mask */

        case 5:
          if (!(
#line 19709 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512IFMA) && 
#line 317 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4922; /* vpamdd52luqv2di_mask */

        default:
          return -1;
        }

    case 196:
      switch (pattern367 (x2))
        {
        case 0:
          if (!
#line 19693 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512IFMA))
            return -1;
          return 4909; /* vpamdd52huqv8di_maskz_1 */

        case 1:
          if (!(
#line 19693 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512IFMA) && 
#line 317 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4913; /* vpamdd52huqv4di_maskz_1 */

        case 2:
          if (!(
#line 19693 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512IFMA) && 
#line 317 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4917; /* vpamdd52huqv2di_maskz_1 */

        case 3:
          if (!
#line 19709 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512IFMA))
            return -1;
          return 4919; /* vpamdd52huqv8di_mask */

        case 4:
          if (!(
#line 19709 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512IFMA) && 
#line 317 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4921; /* vpamdd52huqv4di_mask */

        case 5:
          if (!(
#line 19709 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512IFMA) && 
#line 317 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4923; /* vpamdd52huqv2di_mask */

        default:
          return -1;
        }

    case 198:
      switch (pattern369 (x2))
        {
        case 0:
          if (!
#line 19801 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX5124FMAPS))
            return -1;
          return 4934; /* avx5124fmaddps_4fmaddps_maskz */

        case 1:
          if (!
#line 19842 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX5124FMAPS))
            return -1;
          return 4937; /* avx5124fmaddps_4fmaddss_maskz */

        default:
          return -1;
        }

    case 199:
      switch (pattern369 (x2))
        {
        case 0:
          if (!
#line 19883 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX5124FMAPS))
            return -1;
          return 4940; /* avx5124fmaddps_4fnmaddps_maskz */

        case 1:
          if (!
#line 19924 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX5124FMAPS))
            return -1;
          return 4943; /* avx5124fmaddps_4fnmaddss_maskz */

        default:
          return -1;
        }

    case 200:
      if (pattern370 (x2) != 0
          || !
#line 19965 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX5124VNNIW))
        return -1;
      return 4946; /* avx5124vnniw_vp4dpwssd_maskz */

    case 201:
      if (pattern370 (x2) != 0
          || !
#line 20006 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX5124VNNIW))
        return -1;
      return 4949; /* avx5124vnniw_vp4dpwssds_maskz */

    default:
      return -1;
    }
}

static int
recog_74 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  switch (XINT (x3, 1))
    {
    case 50:
      switch (pattern217 (x2))
        {
        case 0:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1901 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && (64 == 64 || TARGET_AVX512VL) && 1) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
            return -1;
          return 1557; /* ieee_maxv16sf3_mask */

        case 1:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1901 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && (32 == 64 || TARGET_AVX512VL) && 1) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
            return -1;
          return 1564; /* ieee_maxv8sf3_mask */

        case 2:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 1901 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && (16 == 64 || TARGET_AVX512VL) && 1)))
            return -1;
          return 1568; /* ieee_maxv4sf3_mask */

        case 3:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1901 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && (64 == 64 || TARGET_AVX512VL) && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
            return -1;
          return 1573; /* ieee_maxv8df3_mask */

        case 4:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1901 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && (32 == 64 || TARGET_AVX512VL) && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
            return -1;
          return 1580; /* ieee_maxv4df3_mask */

        case 5:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1901 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && (16 == 64 || TARGET_AVX512VL) && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))))
            return -1;
          return 1584; /* ieee_maxv2df3_mask */

        default:
          return -1;
        }

    case 49:
      switch (pattern217 (x2))
        {
        case 0:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1901 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && (64 == 64 || TARGET_AVX512VL) && 1) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
            return -1;
          return 1561; /* ieee_minv16sf3_mask */

        case 1:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1901 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && (32 == 64 || TARGET_AVX512VL) && 1) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
            return -1;
          return 1566; /* ieee_minv8sf3_mask */

        case 2:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 1901 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && (16 == 64 || TARGET_AVX512VL) && 1)))
            return -1;
          return 1570; /* ieee_minv4sf3_mask */

        case 3:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1901 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && (64 == 64 || TARGET_AVX512VL) && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
            return -1;
          return 1577; /* ieee_minv8df3_mask */

        case 4:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1901 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && (32 == 64 || TARGET_AVX512VL) && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
            return -1;
          return 1582; /* ieee_minv4df3_mask */

        case 5:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1901 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && (16 == 64 || TARGET_AVX512VL) && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))))
            return -1;
          return 1586; /* ieee_minv2df3_mask */

        default:
          return -1;
        }

    case 192:
      x4 = XVECEXP (x3, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x3, 0, 1);
      operands[2] = x5;
      if (!const_0_to_255_operand (operands[2], SImode))
        return -1;
      switch (pattern408 (x2))
        {
        case 0:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 2462 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ)))
            return -1;
          return 1610; /* reducepv16sf_mask */

        case 1:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 2462 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 1612; /* reducepv8sf_mask */

        case 2:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 2462 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 1614; /* reducepv4sf_mask */

        case 3:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 2462 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ)))
            return -1;
          return 1616; /* reducepv8df_mask */

        case 4:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 2462 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 1618; /* reducepv4df_mask */

        case 5:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 2462 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 1620; /* reducepv2df_mask */

        default:
          return -1;
        }

    case 159:
      x4 = XVECEXP (x3, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x3, 0, 1);
      operands[2] = x5;
      x6 = XEXP (x2, 2);
      switch (GET_CODE (x6))
        {
        case CONST_INT:
          if (XWINT (x6, 0) != 1LL)
            return -1;
          switch (pattern410 (x2))
            {
            case 0:
              if (!
#line 8191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return -1;
              return 2531; /* avx512f_vmscalefv4sf */

            case 1:
              if (!(
#line 8191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
                return -1;
              return 2533; /* avx512f_vmscalefv2df */

            default:
              return -1;
            }

        case REG:
        case SUBREG:
          operands[4] = x6;
          x7 = XEXP (x2, 1);
          operands[3] = x7;
          switch (GET_MODE (operands[0]))
            {
            case V16SFmode:
              if (pattern529 (x2, V16SFmode, HImode) != 0
                  || !
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                return -1;
              return 2537; /* avx512f_scalefv16sf_mask */

            case V8SFmode:
              if (pattern529 (x2, V8SFmode, QImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8202 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 2541; /* avx512vl_scalefv8sf_mask */

            case V4SFmode:
              if (pattern529 (x2, V4SFmode, QImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8202 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 2545; /* avx512vl_scalefv4sf_mask */

            case V8DFmode:
              if (pattern529 (x2, V8DFmode, QImode) != 0
                  || !
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                return -1;
              return 2549; /* avx512f_scalefv8df_mask */

            case V4DFmode:
              if (pattern529 (x2, V4DFmode, QImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8202 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 2553; /* avx512vl_scalefv4df_mask */

            case V2DFmode:
              if (pattern529 (x2, V2DFmode, QImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8202 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 2557; /* avx512vl_scalefv2df_mask */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 161:
      x6 = XEXP (x2, 2);
      if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
        return -1;
      x4 = XVECEXP (x3, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x3, 0, 1);
      operands[2] = x5;
      switch (pattern410 (x2))
        {
        case 0:
          if (!
#line 8271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2601; /* avx512f_sgetexpv4sf */

        case 1:
          if (!(
#line 8271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
            return -1;
          return 2603; /* avx512f_sgetexpv2df */

        default:
          return -1;
        }

    case 83:
      x6 = XEXP (x2, 2);
      switch (GET_CODE (x6))
        {
        case REG:
        case SUBREG:
          operands[4] = x6;
          x4 = XVECEXP (x3, 0, 0);
          operands[1] = x4;
          x5 = XVECEXP (x3, 0, 1);
          operands[2] = x5;
          if (!const_0_to_255_operand (operands[2], SImode))
            return -1;
          x7 = XEXP (x2, 1);
          operands[3] = x7;
          switch (GET_MODE (operands[0]))
            {
            case V16SFmode:
              if (pattern407 (x2, V16SFmode, HImode) != 0
                  || !
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                return -1;
              return 2667; /* avx512f_rndscalev16sf_mask */

            case V8SFmode:
              if (pattern407 (x2, V8SFmode, QImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8421 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 2671; /* avx512vl_rndscalev8sf_mask */

            case V4SFmode:
              if (pattern407 (x2, V4SFmode, QImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8421 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 2675; /* avx512vl_rndscalev4sf_mask */

            case V8DFmode:
              if (pattern407 (x2, V8DFmode, QImode) != 0
                  || !
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                return -1;
              return 2679; /* avx512f_rndscalev8df_mask */

            case V4DFmode:
              if (pattern407 (x2, V4DFmode, QImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8421 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 2683; /* avx512vl_rndscalev4df_mask */

            case V2DFmode:
              if (pattern407 (x2, V2DFmode, QImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8421 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 2687; /* avx512vl_rndscalev2df_mask */

            default:
              return -1;
            }

        case CONST_INT:
          if (XWINT (x6, 0) != 1LL)
            return -1;
          x4 = XVECEXP (x3, 0, 0);
          operands[2] = x4;
          x5 = XVECEXP (x3, 0, 1);
          operands[3] = x5;
          if (!const_0_to_15_operand (operands[3], SImode))
            return -1;
          x7 = XEXP (x2, 1);
          operands[1] = x7;
          switch (GET_MODE (operands[0]))
            {
            case V4SFmode:
              if (pattern594 (x2, V4SFmode) != 0
                  || !
#line 15611 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_ROUND))
                return -1;
              return 3925; /* sse4_1_roundss */

            case V2DFmode:
              if (pattern594 (x2, V2DFmode) != 0
                  || !(
#line 15611 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_ROUND) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
                return -1;
              return 3926; /* sse4_1_roundsd */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 188:
      x4 = XVECEXP (x3, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x3, 0, 1);
      operands[2] = x5;
      x7 = XEXP (x2, 1);
      operands[3] = x7;
      x6 = XEXP (x2, 2);
      operands[4] = x6;
      switch (GET_MODE (operands[0]))
        {
        case V16SImode:
          if (pattern525 (x2, V16SImode, V32HImode, HImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10313 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW && (64 == 64 || TARGET_AVX512VL)) && 
#line 329 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))))
            return -1;
          return 3073; /* avx512bw_pmaddwd512v32hi_mask */

        case V8SImode:
          if (pattern525 (x2, V8SImode, V16HImode, QImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10313 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW && (32 == 64 || TARGET_AVX512VL)) && 
#line 329 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))))
            return -1;
          return 3075; /* avx512bw_pmaddwd512v16hi_mask */

        case V4SImode:
          if (pattern525 (x2, V4SImode, V8HImode, QImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 10313 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW && (16 == 64 || TARGET_AVX512VL))))
            return -1;
          return 3077; /* avx512bw_pmaddwd512v8hi_mask */

        default:
          return -1;
        }

    case 190:
      if (pattern218 (x2) != 0
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 13117 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
        return -1;
      return 3639; /* avx512bw_pshuflwv32hi_mask */

    case 189:
      if (pattern218 (x2) != 0
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 13293 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
        return -1;
      return 3645; /* avx512bw_pshufhwv32hi_mask */

    case 187:
      x4 = XVECEXP (x3, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x3, 0, 1);
      operands[2] = x5;
      x7 = XEXP (x2, 1);
      operands[3] = x7;
      x6 = XEXP (x2, 2);
      operands[4] = x6;
      switch (GET_MODE (operands[0]))
        {
        case V8HImode:
          if (pattern525 (x2, V8HImode, V16QImode, QImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 14517 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 351 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 3728; /* avx512bw_pmaddubsw512v8hi_mask */

        case V16HImode:
          if (pattern525 (x2, V16HImode, V32QImode, HImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 14517 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 351 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 3730; /* avx512bw_pmaddubsw512v16hi_mask */

        case V32HImode:
          if (pattern525 (x2, V32HImode, V64QImode, SImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 14517 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 3732; /* avx512bw_pmaddubsw512v32hi_mask */

        default:
          return -1;
        }

    case 108:
      x4 = XVECEXP (x3, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x3, 0, 1);
      operands[2] = x5;
      x7 = XEXP (x2, 1);
      operands[3] = x7;
      x6 = XEXP (x2, 2);
      operands[4] = x6;
      switch (GET_MODE (operands[0]))
        {
        case V64QImode:
          if (pattern216 (x2, DImode, V64QImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 14733 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) && 
#line 326 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))))
            return -1;
          return 3745; /* avx512bw_pshufbv64qi3_mask */

        case V32QImode:
          if (pattern216 (x2, SImode, V32QImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 14733 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) && 
#line 326 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))))
            return -1;
          return 3747; /* avx2_pshufbv32qi3_mask */

        case V16QImode:
          if (pattern216 (x2, HImode, V16QImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 14733 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW)))
            return -1;
          return 3749; /* ssse3_pshufbv16qi3_mask */

        default:
          return -1;
        }

    case 144:
      x4 = XVECEXP (x3, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x3, 0, 1);
      operands[2] = x5;
      x7 = XEXP (x2, 1);
      operands[3] = x7;
      x6 = XEXP (x2, 2);
      operands[4] = x6;
      switch (GET_MODE (operands[0]))
        {
        case V8SImode:
          if (pattern526 (x2, QImode, V8SImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 17321 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL))))
            return -1;
          return 4104; /* avx2_permvarv8si_mask */

        case V8SFmode:
          if (pattern527 (x2, V8SFmode, V8SImode, QImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 17321 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL))))
            return -1;
          return 4106; /* avx2_permvarv8sf_mask */

        case V16SImode:
          if (pattern526 (x2, HImode, V16SImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 17321 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && (64 == 64 || TARGET_AVX512VL)) && 
#line 554 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
            return -1;
          return 4108; /* avx512f_permvarv16si_mask */

        case V16SFmode:
          if (pattern527 (x2, V16SFmode, V16SImode, HImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 17321 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && (64 == 64 || TARGET_AVX512VL)) && 
#line 554 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
            return -1;
          return 4110; /* avx512f_permvarv16sf_mask */

        case V8DImode:
          if (pattern526 (x2, QImode, V8DImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 17321 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && (64 == 64 || TARGET_AVX512VL)) && 
#line 555 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
            return -1;
          return 4112; /* avx512f_permvarv8di_mask */

        case V8DFmode:
          if (pattern527 (x2, V8DFmode, V8DImode, QImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 17321 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && (64 == 64 || TARGET_AVX512VL)) && 
#line 555 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
            return -1;
          return 4114; /* avx512f_permvarv8df_mask */

        case V4DImode:
          if (pattern526 (x2, QImode, V4DImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 17321 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL)) && 
#line 556 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 4116; /* avx2_permvarv4di_mask */

        case V4DFmode:
          if (pattern527 (x2, V4DFmode, V4DImode, QImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 17321 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL)) && 
#line 556 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 4118; /* avx2_permvarv4df_mask */

        case V64QImode:
          if (pattern526 (x2, DImode, V64QImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 17333 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VBMI && (64 == 64 || TARGET_AVX512VL))))
            return -1;
          return 4120; /* avx512bw_permvarv64qi_mask */

        case V16QImode:
          if (pattern526 (x2, HImode, V16QImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 17333 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VBMI && (16 == 64 || TARGET_AVX512VL)) && 
#line 195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 4122; /* avx512vl_permvarv16qi_mask */

        case V32QImode:
          if (pattern526 (x2, SImode, V32QImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 17333 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VBMI && (32 == 64 || TARGET_AVX512VL)) && 
#line 195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 4124; /* avx512vl_permvarv32qi_mask */

        case V8HImode:
          if (pattern526 (x2, QImode, V8HImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 17345 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW && (16 == 64 || TARGET_AVX512VL)) && 
#line 351 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 4126; /* avx512vl_permvarv8hi_mask */

        case V16HImode:
          if (pattern526 (x2, HImode, V16HImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 17345 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW && (32 == 64 || TARGET_AVX512VL)) && 
#line 351 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 4128; /* avx512vl_permvarv16hi_mask */

        case V32HImode:
          if (pattern526 (x2, SImode, V32HImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 17345 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW && (64 == 64 || TARGET_AVX512VL))))
            return -1;
          return 4130; /* avx512bw_permvarv32hi_mask */

        default:
          return -1;
        }

    case 137:
      x4 = XVECEXP (x3, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x3, 0, 1);
      operands[2] = x5;
      x7 = XEXP (x2, 1);
      operands[3] = x7;
      x6 = XEXP (x2, 2);
      operands[4] = x6;
      switch (GET_MODE (operands[0]))
        {
        case V16SFmode:
          if (pattern528 (x2, V16SFmode, V16SImode, HImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 18008 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && (64 == 64 || TARGET_AVX512VL)) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
            return -1;
          return 4296; /* avx512f_vpermilvarv16sf3_mask */

        case V8SFmode:
          if (pattern528 (x2, V8SFmode, V8SImode, QImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 18008 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && (32 == 64 || TARGET_AVX512VL)) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
            return -1;
          return 4298; /* avx_vpermilvarv8sf3_mask */

        case V4SFmode:
          if (pattern528 (x2, V4SFmode, V4SImode, QImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 18008 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && (16 == 64 || TARGET_AVX512VL))))
            return -1;
          return 4300; /* avx_vpermilvarv4sf3_mask */

        case V8DFmode:
          if (pattern528 (x2, V8DFmode, V8DImode, QImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 18008 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && (64 == 64 || TARGET_AVX512VL)) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
            return -1;
          return 4302; /* avx512f_vpermilvarv8df3_mask */

        case V4DFmode:
          if (pattern528 (x2, V4DFmode, V4DImode, QImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 18008 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && (32 == 64 || TARGET_AVX512VL)) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
            return -1;
          return 4304; /* avx_vpermilvarv4df3_mask */

        case V2DFmode:
          if (pattern528 (x2, V2DFmode, V2DImode, QImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 18008 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && (16 == 64 || TARGET_AVX512VL)) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))))
            return -1;
          return 4306; /* avx_vpermilvarv2df3_mask */

        default:
          return -1;
        }

    case 143:
      x4 = XVECEXP (x3, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x3, 0, 1);
      operands[2] = x5;
      if (!const_0_to_255_operand (operands[2], SImode))
        return -1;
      x7 = XEXP (x2, 1);
      operands[3] = x7;
      x6 = XEXP (x2, 2);
      operands[4] = x6;
      switch (GET_MODE (operands[0]))
        {
        case V8HImode:
          if (pattern562 (x2, QImode, V8HImode, V8SFmode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 18944 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_F16C || TARGET_AVX512VL)))
            return -1;
          return 4546; /* vcvtps2ph256_mask */

        case V16HImode:
          if (pattern562 (x2, HImode, V16HImode, V16SFmode) != 0
              || !
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
            return -1;
          return 4548; /* avx512f_vcvtps2ph512_mask */

        default:
          return -1;
        }

    case 162:
      x4 = XVECEXP (x3, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x3, 0, 1);
      operands[2] = x5;
      if (!const_0_to_15_operand (operands[2], SImode))
        return -1;
      switch (pattern408 (x2))
        {
        case 0:
          if (!
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
            return -1;
          return 4837; /* avx512f_getmantv16sf_mask */

        case 1:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 19478 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 4841; /* avx512vl_getmantv8sf_mask */

        case 2:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 19478 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 4845; /* avx512vl_getmantv4sf_mask */

        case 3:
          if (!
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
            return -1;
          return 4849; /* avx512f_getmantv8df_mask */

        case 4:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 19478 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 4853; /* avx512vl_getmantv4df_mask */

        case 5:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 19478 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 4857; /* avx512vl_getmantv2df_mask */

        default:
          return -1;
        }

    case 197:
      x4 = XVECEXP (x3, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x3, 0, 1);
      operands[2] = x5;
      x7 = XEXP (x2, 1);
      operands[3] = x7;
      x6 = XEXP (x2, 2);
      operands[4] = x6;
      switch (GET_MODE (operands[0]))
        {
        case V64QImode:
          if (pattern529 (x2, V64QImode, DImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 19721 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VBMI)))
            return -1;
          return 4925; /* vpmultishiftqbv64qi_mask */

        case V16QImode:
          if (pattern529 (x2, V16QImode, HImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 19721 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VBMI) && 
#line 195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 4927; /* vpmultishiftqbv16qi_mask */

        case V32QImode:
          if (pattern529 (x2, V32QImode, SImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 19721 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VBMI) && 
#line 195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 4929; /* vpmultishiftqbv32qi_mask */

        default:
          return -1;
        }

    case 198:
      switch (pattern220 (x2))
        {
        case 0:
          if (!
#line 19786 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX5124FMAPS))
            return -1;
          return 4933; /* avx5124fmaddps_4fmaddps_mask */

        case 1:
          if (!
#line 19827 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX5124FMAPS))
            return -1;
          return 4936; /* avx5124fmaddps_4fmaddss_mask */

        default:
          return -1;
        }

    case 199:
      switch (pattern220 (x2))
        {
        case 0:
          if (!
#line 19868 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX5124FMAPS))
            return -1;
          return 4939; /* avx5124fmaddps_4fnmaddps_mask */

        case 1:
          if (!
#line 19909 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX5124FMAPS))
            return -1;
          return 4942; /* avx5124fmaddps_4fnmaddss_mask */

        default:
          return -1;
        }

    case 200:
      if (pattern221 (x2) != 0
          || !
#line 19950 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX5124VNNIW))
        return -1;
      return 4945; /* avx5124vnniw_vp4dpwssd_mask */

    case 201:
      if (pattern221 (x2) != 0
          || !
#line 19991 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX5124VNNIW))
        return -1;
      return 4948; /* avx5124vnniw_vp4dpwssds_mask */

    default:
      return -1;
    }
}

static int
recog_75 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 2);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
    case MEM:
      operands[3] = x4;
      switch (pattern309 (x2))
        {
        case 0:
          x5 = XEXP (x3, 0);
          x6 = XEXP (x5, 0);
          operands[1] = x6;
          x7 = XEXP (x3, 1);
          operands[2] = x7;
          x8 = XEXP (x2, 2);
          switch (pattern413 (x8))
            {
            case 0:
              if (pattern663 (x2, V16SFmode, HImode) != 0
                  || !
#line 3757 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1))
                return -1;
              return 1886; /* fma_fnmadd_v16sf_maskz_1 */

            case 1:
              if (pattern663 (x2, V8SFmode, QImode) != 0
                  || !(
#line 3757 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) && 
#line 3616 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 1889; /* fma_fnmadd_v8sf_maskz_1 */

            case 2:
              if (pattern663 (x2, V4SFmode, QImode) != 0
                  || !(
#line 3757 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) && 
#line 3616 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 1891; /* fma_fnmadd_v4sf_maskz_1 */

            case 3:
              if (pattern663 (x2, V8DFmode, QImode) != 0
                  || !
#line 3757 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1))
                return -1;
              return 1895; /* fma_fnmadd_v8df_maskz_1 */

            case 4:
              if (pattern663 (x2, V4DFmode, QImode) != 0
                  || !(
#line 3757 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) && 
#line 3617 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 1898; /* fma_fnmadd_v4df_maskz_1 */

            case 5:
              if (pattern663 (x2, V2DFmode, QImode) != 0
                  || !(
#line 3757 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) && 
#line 3617 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 1900; /* fma_fnmadd_v2df_maskz_1 */

            case 6:
              if (pattern664 (x2, V4SFmode) != 0
                  || !
#line 4178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA4))
                return -1;
              return 2087; /* *fma4i_vmfnmadd_v4sf */

            case 7:
              if (pattern664 (x2, V2DFmode) != 0
                  || !(
#line 4178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA4) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
                return -1;
              return 2088; /* *fma4i_vmfnmadd_v2df */

            default:
              return -1;
            }

        case 1:
          if (pattern603 (x2, V16SFmode, HImode) != 0)
            return -1;
          if (nonimmediate_operand (operands[3], V16SFmode))
            {
              x9 = XEXP (x2, 1);
              if (rtx_equal_p (x9, operands[1])
                  && 
#line 3775 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1))
                return 1901; /* avx512f_fnmadd_v16sf_mask */
            }
          if (!register_operand (operands[3], V16SFmode))
            return -1;
          x9 = XEXP (x2, 1);
          if (!rtx_equal_p (x9, operands[3])
              || !
#line 3793 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1))
            return -1;
          return 1909; /* avx512f_fnmadd_v16sf_mask3 */

        case 2:
          if (pattern603 (x2, V8SFmode, QImode) != 0)
            return -1;
          if (nonimmediate_operand (operands[3], V8SFmode))
            {
              x9 = XEXP (x2, 1);
              if (rtx_equal_p (x9, operands[1])
                  && (
#line 3775 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return 1903; /* avx512vl_fnmadd_v8sf_mask */
            }
          if (!register_operand (operands[3], V8SFmode))
            return -1;
          x9 = XEXP (x2, 1);
          if (!rtx_equal_p (x9, operands[3])
              || !(
#line 3793 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 1911; /* avx512vl_fnmadd_v8sf_mask3 */

        case 3:
          if (pattern603 (x2, V4SFmode, QImode) != 0)
            return -1;
          if (nonimmediate_operand (operands[3], V4SFmode))
            {
              x9 = XEXP (x2, 1);
              if (rtx_equal_p (x9, operands[1])
                  && (
#line 3775 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return 1904; /* avx512vl_fnmadd_v4sf_mask */
            }
          if (!register_operand (operands[3], V4SFmode))
            return -1;
          x9 = XEXP (x2, 1);
          if (!rtx_equal_p (x9, operands[3])
              || !(
#line 3793 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 1912; /* avx512vl_fnmadd_v4sf_mask3 */

        case 4:
          if (pattern603 (x2, V8DFmode, QImode) != 0)
            return -1;
          if (nonimmediate_operand (operands[3], V8DFmode))
            {
              x9 = XEXP (x2, 1);
              if (rtx_equal_p (x9, operands[1])
                  && 
#line 3775 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1))
                return 1905; /* avx512f_fnmadd_v8df_mask */
            }
          if (!register_operand (operands[3], V8DFmode))
            return -1;
          x9 = XEXP (x2, 1);
          if (!rtx_equal_p (x9, operands[3])
              || !
#line 3793 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1))
            return -1;
          return 1913; /* avx512f_fnmadd_v8df_mask3 */

        case 5:
          if (pattern603 (x2, V4DFmode, QImode) != 0)
            return -1;
          if (nonimmediate_operand (operands[3], V4DFmode))
            {
              x9 = XEXP (x2, 1);
              if (rtx_equal_p (x9, operands[1])
                  && (
#line 3775 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return 1907; /* avx512vl_fnmadd_v4df_mask */
            }
          if (!register_operand (operands[3], V4DFmode))
            return -1;
          x9 = XEXP (x2, 1);
          if (!rtx_equal_p (x9, operands[3])
              || !(
#line 3793 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 1915; /* avx512vl_fnmadd_v4df_mask3 */

        case 6:
          if (pattern603 (x2, V2DFmode, QImode) != 0)
            return -1;
          if (nonimmediate_operand (operands[3], V2DFmode))
            {
              x9 = XEXP (x2, 1);
              if (rtx_equal_p (x9, operands[1])
                  && (
#line 3775 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return 1908; /* avx512vl_fnmadd_v2df_mask */
            }
          if (!register_operand (operands[3], V2DFmode))
            return -1;
          x9 = XEXP (x2, 1);
          if (!rtx_equal_p (x9, operands[3])
              || !(
#line 3793 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 1916; /* avx512vl_fnmadd_v2df_mask3 */

        case 7:
          if (pattern665 (x2, V4SFmode) != 0
              || !
#line 4099 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_AVX512F))
            return -1;
          return 2075; /* *fmai_fnmadd_v4sf */

        case 8:
          if (pattern665 (x2, V2DFmode) != 0
              || !(
#line 4099 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_AVX512F) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
            return -1;
          return 2077; /* *fmai_fnmadd_v2df */

        default:
          return -1;
        }

    case NEG:
      x10 = XEXP (x4, 0);
      operands[3] = x10;
      switch (pattern309 (x2))
        {
        case 0:
          x5 = XEXP (x3, 0);
          x6 = XEXP (x5, 0);
          operands[1] = x6;
          x7 = XEXP (x3, 1);
          operands[2] = x7;
          x8 = XEXP (x2, 2);
          switch (GET_CODE (x8))
            {
            case REG:
            case SUBREG:
              operands[5] = x8;
              switch (GET_MODE (operands[0]))
                {
                case V4SFmode:
                  if (pattern666 (x2, V4SFmode) != 0)
                    return -1;
                  if (nonimmediate_operand (operands[1], V4SFmode)
                      && nonimmediate_operand (operands[2], V4SFmode)
                      && nonimmediate_operand (operands[3], V4SFmode)
                      && 
#line 3807 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
                    return 1923; /* *fma_fnmsub_v4sf */
                  if (!vector_operand (operands[1], V4SFmode)
                      || !vector_operand (operands[2], V4SFmode)
                      || !vector_operand (operands[3], V4SFmode)
                      || !(
#line 3826 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) && 
#line 3616 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                    return -1;
                  return 1945; /* fma_fnmsub_v4sf_maskz_1 */

                case V2DFmode:
                  if (pattern666 (x2, V2DFmode) != 0)
                    return -1;
                  if (nonimmediate_operand (operands[1], V2DFmode)
                      && nonimmediate_operand (operands[2], V2DFmode)
                      && nonimmediate_operand (operands[3], V2DFmode)
                      && 
#line 3807 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
                    return 1927; /* *fma_fnmsub_v2df */
                  if (!vector_operand (operands[1], V2DFmode)
                      || !vector_operand (operands[2], V2DFmode)
                      || !vector_operand (operands[3], V2DFmode)
                      || !(
#line 3826 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) && 
#line 3617 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                    return -1;
                  return 1954; /* fma_fnmsub_v2df_maskz_1 */

                case V8SFmode:
                  if (pattern666 (x2, V8SFmode) != 0)
                    return -1;
                  if (nonimmediate_operand (operands[1], V8SFmode)
                      && nonimmediate_operand (operands[2], V8SFmode)
                      && nonimmediate_operand (operands[3], V8SFmode)
                      && 
#line 3807 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
                    return 1931; /* *fma_fnmsub_v8sf */
                  if (!vector_operand (operands[1], V8SFmode)
                      || !vector_operand (operands[2], V8SFmode)
                      || !vector_operand (operands[3], V8SFmode)
                      || !(
#line 3826 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) && 
#line 3616 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                    return -1;
                  return 1943; /* fma_fnmsub_v8sf_maskz_1 */

                case V4DFmode:
                  if (pattern666 (x2, V4DFmode) != 0)
                    return -1;
                  if (nonimmediate_operand (operands[1], V4DFmode)
                      && nonimmediate_operand (operands[2], V4DFmode)
                      && nonimmediate_operand (operands[3], V4DFmode)
                      && 
#line 3807 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
                    return 1935; /* *fma_fnmsub_v4df */
                  if (!vector_operand (operands[1], V4DFmode)
                      || !vector_operand (operands[2], V4DFmode)
                      || !vector_operand (operands[3], V4DFmode)
                      || !(
#line 3826 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) && 
#line 3617 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                    return -1;
                  return 1952; /* fma_fnmsub_v4df_maskz_1 */

                case V16SFmode:
                  if (pattern667 (x2, HImode, V16SFmode) != 0
                      || !
#line 3826 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1))
                    return -1;
                  return 1940; /* fma_fnmsub_v16sf_maskz_1 */

                case V8DFmode:
                  if (pattern667 (x2, QImode, V8DFmode) != 0
                      || !
#line 3826 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1))
                    return -1;
                  return 1949; /* fma_fnmsub_v8df_maskz_1 */

                default:
                  return -1;
                }

            case CONST_INT:
              if (XWINT (x8, 0) != 1LL)
                return -1;
              switch (GET_MODE (operands[0]))
                {
                case V4SFmode:
                  if (pattern668 (x2, V4SFmode) != 0
                      || !
#line 4194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA4))
                    return -1;
                  return 2089; /* *fma4i_vmfnmsub_v4sf */

                case V2DFmode:
                  if (pattern668 (x2, V2DFmode) != 0
                      || !(
#line 4194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA4) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
                    return -1;
                  return 2090; /* *fma4i_vmfnmsub_v2df */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case 1:
          if (pattern604 (x2, V16SFmode, HImode) != 0)
            return -1;
          if (nonimmediate_operand (operands[3], V16SFmode))
            {
              x9 = XEXP (x2, 1);
              if (rtx_equal_p (x9, operands[1])
                  && 
#line 3845 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1))
                return 1955; /* avx512f_fnmsub_v16sf_mask */
            }
          if (!register_operand (operands[3], V16SFmode))
            return -1;
          x9 = XEXP (x2, 1);
          if (!rtx_equal_p (x9, operands[3])
              || !
#line 3864 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 1963; /* avx512f_fnmsub_v16sf_mask3 */

        case 2:
          if (pattern604 (x2, V8SFmode, QImode) != 0)
            return -1;
          if (nonimmediate_operand (operands[3], V8SFmode))
            {
              x9 = XEXP (x2, 1);
              if (rtx_equal_p (x9, operands[1])
                  && (
#line 3845 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return 1957; /* avx512vl_fnmsub_v8sf_mask */
            }
          if (!register_operand (operands[3], V8SFmode))
            return -1;
          x9 = XEXP (x2, 1);
          if (!rtx_equal_p (x9, operands[3])
              || !(
#line 3864 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 1965; /* avx512vl_fnmsub_v8sf_mask3 */

        case 3:
          if (pattern604 (x2, V4SFmode, QImode) != 0)
            return -1;
          if (nonimmediate_operand (operands[3], V4SFmode))
            {
              x9 = XEXP (x2, 1);
              if (rtx_equal_p (x9, operands[1])
                  && (
#line 3845 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return 1958; /* avx512vl_fnmsub_v4sf_mask */
            }
          if (!register_operand (operands[3], V4SFmode))
            return -1;
          x9 = XEXP (x2, 1);
          if (!rtx_equal_p (x9, operands[3])
              || !(
#line 3864 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 1967; /* avx512vl_fnmsub_v4sf_mask3 */

        case 4:
          if (pattern604 (x2, V8DFmode, QImode) != 0)
            return -1;
          if (nonimmediate_operand (operands[3], V8DFmode))
            {
              x9 = XEXP (x2, 1);
              if (rtx_equal_p (x9, operands[1])
                  && 
#line 3845 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1))
                return 1959; /* avx512f_fnmsub_v8df_mask */
            }
          if (!register_operand (operands[3], V8DFmode))
            return -1;
          x9 = XEXP (x2, 1);
          if (!rtx_equal_p (x9, operands[3])
              || !
#line 3864 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 1969; /* avx512f_fnmsub_v8df_mask3 */

        case 5:
          if (pattern604 (x2, V4DFmode, QImode) != 0)
            return -1;
          if (nonimmediate_operand (operands[3], V4DFmode))
            {
              x9 = XEXP (x2, 1);
              if (rtx_equal_p (x9, operands[1])
                  && (
#line 3845 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return 1961; /* avx512vl_fnmsub_v4df_mask */
            }
          if (!register_operand (operands[3], V4DFmode))
            return -1;
          x9 = XEXP (x2, 1);
          if (!rtx_equal_p (x9, operands[3])
              || !(
#line 3864 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 1971; /* avx512vl_fnmsub_v4df_mask3 */

        case 6:
          if (pattern604 (x2, V2DFmode, QImode) != 0)
            return -1;
          if (nonimmediate_operand (operands[3], V2DFmode))
            {
              x9 = XEXP (x2, 1);
              if (rtx_equal_p (x9, operands[1])
                  && (
#line 3845 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return 1962; /* avx512vl_fnmsub_v2df_mask */
            }
          if (!register_operand (operands[3], V2DFmode))
            return -1;
          x9 = XEXP (x2, 1);
          if (!rtx_equal_p (x9, operands[3])
              || !(
#line 3864 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 1973; /* avx512vl_fnmsub_v2df_mask3 */

        case 7:
          if (pattern669 (x2, V4SFmode) != 0
              || !
#line 4117 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_AVX512F))
            return -1;
          return 2079; /* *fmai_fnmsub_v4sf */

        case 8:
          if (pattern669 (x2, V2DFmode) != 0
              || !(
#line 4117 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_AVX512F) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
            return -1;
          return 2081; /* *fmai_fnmsub_v2df */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_76 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19, x20, x21, x22, x23, x24;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  if (pattern486 (x4) != 0)
    return -1;
  x5 = XVECEXP (x4, 0, 8);
  if (GET_CODE (x5) != CONST_INT)
    return -1;
  x6 = XVECEXP (x4, 0, 9);
  if (GET_CODE (x6) != CONST_INT)
    return -1;
  x7 = XVECEXP (x4, 0, 10);
  if (GET_CODE (x7) != CONST_INT)
    return -1;
  x8 = XVECEXP (x4, 0, 11);
  if (GET_CODE (x8) != CONST_INT)
    return -1;
  x9 = XVECEXP (x4, 0, 12);
  if (GET_CODE (x9) != CONST_INT)
    return -1;
  x10 = XVECEXP (x4, 0, 13);
  if (GET_CODE (x10) != CONST_INT)
    return -1;
  x11 = XVECEXP (x4, 0, 14);
  if (GET_CODE (x11) != CONST_INT)
    return -1;
  x12 = XVECEXP (x4, 0, 15);
  if (GET_CODE (x12) != CONST_INT)
    return -1;
  x13 = XEXP (x2, 2);
  if (!register_operand (x13, HImode))
    return -1;
  x14 = XVECEXP (x4, 0, 0);
  switch (XWINT (x14, 0))
    {
    case 2LL:
      x15 = XVECEXP (x4, 0, 1);
      if (XWINT (x15, 0) != 18LL)
        return -1;
      x16 = XVECEXP (x4, 0, 2);
      if (XWINT (x16, 0) != 3LL)
        return -1;
      x17 = XVECEXP (x4, 0, 3);
      if (XWINT (x17, 0) != 19LL
          || pattern949 (x4) != 0
          || XWINT (x5, 0) != 10LL
          || XWINT (x6, 0) != 26LL
          || XWINT (x7, 0) != 11LL
          || XWINT (x8, 0) != 27LL
          || pattern968 (x4) != 0)
        return -1;
      x18 = XEXP (x3, 0);
      x19 = XEXP (x18, 1);
      operands[2] = x19;
      x20 = XEXP (x2, 1);
      operands[3] = x20;
      operands[4] = x13;
      switch (GET_MODE (operands[0]))
        {
        case V16SFmode:
          if (pattern753 (x2, V16SFmode, V32SFmode) != 0
              || !
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
            return -1;
          return 2409; /* avx512f_unpckhps512_mask */

        case V16SImode:
          if (pattern753 (x2, V16SImode, V32SImode) != 0
              || !
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
            return -1;
          return 3579; /* avx512f_interleave_highv16si_mask */

        default:
          return -1;
        }

    case 0LL:
      x15 = XVECEXP (x4, 0, 1);
      switch (XWINT (x15, 0))
        {
        case 16LL:
          x16 = XVECEXP (x4, 0, 2);
          if (XWINT (x16, 0) != 1LL)
            return -1;
          x17 = XVECEXP (x4, 0, 3);
          if (XWINT (x17, 0) != 17LL)
            return -1;
          x18 = XEXP (x3, 0);
          x19 = XEXP (x18, 1);
          operands[2] = x19;
          x20 = XEXP (x2, 1);
          operands[3] = x20;
          operands[4] = x13;
          x21 = XVECEXP (x4, 0, 4);
          switch (XWINT (x21, 0))
            {
            case 4LL:
              x22 = XVECEXP (x4, 0, 5);
              if (XWINT (x22, 0) != 20LL)
                return -1;
              x23 = XVECEXP (x4, 0, 6);
              if (XWINT (x23, 0) != 5LL)
                return -1;
              x24 = XVECEXP (x4, 0, 7);
              if (XWINT (x24, 0) != 21LL
                  || XWINT (x5, 0) != 8LL
                  || XWINT (x6, 0) != 24LL
                  || XWINT (x7, 0) != 9LL
                  || XWINT (x8, 0) != 25LL
                  || XWINT (x9, 0) != 12LL
                  || XWINT (x10, 0) != 28LL
                  || XWINT (x11, 0) != 13LL
                  || XWINT (x12, 0) != 29LL)
                return -1;
              switch (GET_MODE (operands[0]))
                {
                case V16SFmode:
                  if (pattern753 (x2, V16SFmode, V32SFmode) != 0
                      || !
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                    return -1;
                  return 2415; /* avx512f_unpcklps512_mask */

                case V16SImode:
                  if (pattern753 (x2, V16SImode, V32SImode) != 0
                      || !
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                    return -1;
                  return 3585; /* avx512f_interleave_lowv16si_mask */

                default:
                  return -1;
                }

            case 2LL:
              x22 = XVECEXP (x4, 0, 5);
              if (XWINT (x22, 0) != 18LL)
                return -1;
              x23 = XVECEXP (x4, 0, 6);
              if (XWINT (x23, 0) != 3LL)
                return -1;
              x24 = XVECEXP (x4, 0, 7);
              if (XWINT (x24, 0) != 19LL)
                return -1;
              switch (XWINT (x5, 0))
                {
                case 4LL:
                  if (XWINT (x6, 0) != 20LL
                      || XWINT (x7, 0) != 5LL
                      || XWINT (x8, 0) != 21LL
                      || XWINT (x9, 0) != 6LL
                      || XWINT (x10, 0) != 22LL
                      || XWINT (x11, 0) != 7LL
                      || XWINT (x12, 0) != 23LL
                      || pattern754 (x2, V16QImode, V32QImode) != 0
                      || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 12158 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && TARGET_AVX512VL && TARGET_AVX512BW)))
                    return -1;
                  return 3563; /* vec_interleave_lowv16qi_mask */

                case 8LL:
                  if (XWINT (x6, 0) != 24LL
                      || XWINT (x7, 0) != 9LL
                      || XWINT (x8, 0) != 25LL
                      || XWINT (x9, 0) != 10LL
                      || XWINT (x10, 0) != 26LL
                      || XWINT (x11, 0) != 11LL
                      || XWINT (x12, 0) != 27LL
                      || pattern753 (x2, V16HImode, V32HImode) != 0
                      || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 12278 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && TARGET_AVX512VL && TARGET_AVX512BW)))
                    return -1;
                  return 3573; /* avx2_interleave_lowv16hi_mask */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case 0LL:
          if (pattern802 (x4) != 0
              || XWINT (x5, 0) != 8LL
              || XWINT (x6, 0) != 8LL
              || XWINT (x7, 0) != 10LL
              || XWINT (x8, 0) != 10LL
              || XWINT (x9, 0) != 12LL
              || XWINT (x10, 0) != 12LL
              || XWINT (x11, 0) != 14LL
              || XWINT (x12, 0) != 14LL
              || pattern918 (x2, V16SFmode, V32SFmode) != 0
              || !
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
            return -1;
          return 2431; /* avx512f_movsldup512_mask */

        default:
          return -1;
        }

    case 1LL:
      x15 = XVECEXP (x4, 0, 1);
      if (XWINT (x15, 0) != 1LL)
        return -1;
      x16 = XVECEXP (x4, 0, 2);
      if (XWINT (x16, 0) != 3LL)
        return -1;
      x17 = XVECEXP (x4, 0, 3);
      if (XWINT (x17, 0) != 3LL)
        return -1;
      x21 = XVECEXP (x4, 0, 4);
      if (XWINT (x21, 0) != 5LL)
        return -1;
      x22 = XVECEXP (x4, 0, 5);
      if (XWINT (x22, 0) != 5LL)
        return -1;
      x23 = XVECEXP (x4, 0, 6);
      if (XWINT (x23, 0) != 7LL)
        return -1;
      x24 = XVECEXP (x4, 0, 7);
      if (XWINT (x24, 0) != 7LL
          || XWINT (x5, 0) != 9LL
          || XWINT (x6, 0) != 9LL
          || XWINT (x7, 0) != 11LL
          || XWINT (x8, 0) != 11LL
          || XWINT (x9, 0) != 13LL
          || XWINT (x10, 0) != 13LL
          || XWINT (x11, 0) != 15LL
          || XWINT (x12, 0) != 15LL
          || pattern918 (x2, V16SFmode, V32SFmode) != 0
          || !
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
        return -1;
      return 2425; /* avx512f_movshdup512_mask */

    case 8LL:
      x15 = XVECEXP (x4, 0, 1);
      if (XWINT (x15, 0) != 24LL)
        return -1;
      x16 = XVECEXP (x4, 0, 2);
      if (XWINT (x16, 0) != 9LL)
        return -1;
      x17 = XVECEXP (x4, 0, 3);
      if (XWINT (x17, 0) != 25LL)
        return -1;
      x21 = XVECEXP (x4, 0, 4);
      if (XWINT (x21, 0) != 10LL)
        return -1;
      x22 = XVECEXP (x4, 0, 5);
      if (XWINT (x22, 0) != 26LL)
        return -1;
      x23 = XVECEXP (x4, 0, 6);
      if (XWINT (x23, 0) != 11LL)
        return -1;
      x24 = XVECEXP (x4, 0, 7);
      if (XWINT (x24, 0) != 27LL
          || pattern969 (x4) != 0
          || pattern919 (x2, V16QImode, V32QImode) != 0
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 12062 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && TARGET_AVX512VL)))
        return -1;
      return 3557; /* vec_interleave_highv16qi_mask */

    case 4LL:
      x15 = XVECEXP (x4, 0, 1);
      if (XWINT (x15, 0) != 20LL)
        return -1;
      x16 = XVECEXP (x4, 0, 2);
      if (XWINT (x16, 0) != 5LL)
        return -1;
      x17 = XVECEXP (x4, 0, 3);
      if (XWINT (x17, 0) != 21LL
          || pattern949 (x4) != 0
          || pattern969 (x4) != 0
          || pattern535 (x2, V16HImode, V32HImode) != 0)
        return -1;
      x20 = XEXP (x2, 1);
      operands[3] = x20;
      if (!vector_move_operand (operands[3], V16HImode))
        return -1;
      operands[4] = x13;
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 12210 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && TARGET_AVX512VL && TARGET_AVX512BW)))
        return -1;
      return 3567; /* avx2_interleave_highv16hi_mask */

    default:
      return -1;
    }
}

static int
recog_77 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  if (pattern486 (x4) != 0)
    return -1;
  x5 = XEXP (x2, 2);
  if (!register_operand (x5, QImode))
    return -1;
  x6 = XVECEXP (x4, 0, 0);
  switch (XWINT (x6, 0))
    {
    case 2LL:
      x7 = XVECEXP (x4, 0, 1);
      if (XWINT (x7, 0) != 10LL)
        return -1;
      x8 = XVECEXP (x4, 0, 2);
      if (XWINT (x8, 0) != 3LL)
        return -1;
      x9 = XVECEXP (x4, 0, 3);
      if (XWINT (x9, 0) != 11LL)
        return -1;
      x10 = XVECEXP (x4, 0, 4);
      if (XWINT (x10, 0) != 6LL)
        return -1;
      x11 = XVECEXP (x4, 0, 5);
      if (XWINT (x11, 0) != 14LL)
        return -1;
      x12 = XVECEXP (x4, 0, 6);
      if (XWINT (x12, 0) != 7LL)
        return -1;
      x13 = XVECEXP (x4, 0, 7);
      if (XWINT (x13, 0) != 15LL)
        return -1;
      x14 = XEXP (x3, 0);
      x15 = XEXP (x14, 1);
      operands[2] = x15;
      x16 = XEXP (x2, 1);
      operands[3] = x16;
      operands[4] = x5;
      switch (GET_MODE (operands[0]))
        {
        case V8SFmode:
          if (pattern753 (x2, V8SFmode, V16SFmode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 6224 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && TARGET_AVX512VL)))
            return -1;
          return 2411; /* avx_unpckhps256_mask */

        case V8SImode:
          if (pattern753 (x2, V8SImode, V16SImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 12314 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && TARGET_AVX512VL)))
            return -1;
          return 3577; /* avx2_interleave_highv8si_mask */

        default:
          return -1;
        }

    case 0LL:
      x7 = XVECEXP (x4, 0, 1);
      switch (XWINT (x7, 0))
        {
        case 8LL:
          x14 = XEXP (x3, 0);
          x15 = XEXP (x14, 1);
          operands[2] = x15;
          x16 = XEXP (x2, 1);
          operands[3] = x16;
          operands[4] = x5;
          x8 = XVECEXP (x4, 0, 2);
          switch (XWINT (x8, 0))
            {
            case 1LL:
              x9 = XVECEXP (x4, 0, 3);
              if (XWINT (x9, 0) != 9LL)
                return -1;
              x10 = XVECEXP (x4, 0, 4);
              switch (XWINT (x10, 0))
                {
                case 4LL:
                  x11 = XVECEXP (x4, 0, 5);
                  if (XWINT (x11, 0) != 12LL)
                    return -1;
                  x12 = XVECEXP (x4, 0, 6);
                  if (XWINT (x12, 0) != 5LL)
                    return -1;
                  x13 = XVECEXP (x4, 0, 7);
                  if (XWINT (x13, 0) != 13LL)
                    return -1;
                  switch (GET_MODE (operands[0]))
                    {
                    case V8SFmode:
                      if (pattern753 (x2, V8SFmode, V16SFmode) != 0
                          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 6312 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && TARGET_AVX512VL)))
                        return -1;
                      return 2417; /* avx_unpcklps256_mask */

                    case V8SImode:
                      if (pattern753 (x2, V8SImode, V16SImode) != 0
                          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 12369 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && TARGET_AVX512VL)))
                        return -1;
                      return 3583; /* avx2_interleave_lowv8si_mask */

                    default:
                      return -1;
                    }

                case 2LL:
                  x11 = XVECEXP (x4, 0, 5);
                  if (XWINT (x11, 0) != 10LL)
                    return -1;
                  x12 = XVECEXP (x4, 0, 6);
                  if (XWINT (x12, 0) != 3LL)
                    return -1;
                  x13 = XVECEXP (x4, 0, 7);
                  if (XWINT (x13, 0) != 11LL
                      || pattern754 (x2, V8HImode, V16HImode) != 0
                      || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 12294 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && TARGET_AVX512VL && TARGET_AVX512BW)))
                    return -1;
                  return 3575; /* vec_interleave_lowv8hi_mask */

                default:
                  return -1;
                }

            case 2LL:
              x9 = XVECEXP (x4, 0, 3);
              if (XWINT (x9, 0) != 10LL)
                return -1;
              x10 = XVECEXP (x4, 0, 4);
              if (XWINT (x10, 0) != 4LL)
                return -1;
              x11 = XVECEXP (x4, 0, 5);
              if (XWINT (x11, 0) != 12LL)
                return -1;
              x12 = XVECEXP (x4, 0, 6);
              if (XWINT (x12, 0) != 6LL)
                return -1;
              x13 = XVECEXP (x4, 0, 7);
              if (XWINT (x13, 0) != 14LL)
                return -1;
              switch (GET_MODE (operands[0]))
                {
                case V8DFmode:
                  if (pattern850 (x2, V8DFmode, V16DFmode) != 0
                      || !
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                    return -1;
                  return 2526; /* *avx512f_unpcklpd512_mask */

                case V8DImode:
                  if (pattern753 (x2, V8DImode, V16DImode) != 0
                      || !
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                    return -1;
                  return 2709; /* avx512f_interleave_lowv8di_mask */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case 0LL:
          if (pattern802 (x4) != 0
              || pattern918 (x2, V8SFmode, V16SFmode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 6451 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && TARGET_AVX512VL)))
            return -1;
          return 2427; /* avx_movsldup256_mask */

        default:
          return -1;
        }

    case 1LL:
      x8 = XVECEXP (x4, 0, 2);
      if (XWINT (x8, 0) != 3LL)
        return -1;
      x10 = XVECEXP (x4, 0, 4);
      if (XWINT (x10, 0) != 5LL)
        return -1;
      x12 = XVECEXP (x4, 0, 6);
      if (XWINT (x12, 0) != 7LL)
        return -1;
      x7 = XVECEXP (x4, 0, 1);
      switch (XWINT (x7, 0))
        {
        case 1LL:
          x9 = XVECEXP (x4, 0, 3);
          if (XWINT (x9, 0) != 3LL)
            return -1;
          x11 = XVECEXP (x4, 0, 5);
          if (XWINT (x11, 0) != 5LL)
            return -1;
          x13 = XVECEXP (x4, 0, 7);
          if (XWINT (x13, 0) != 7LL
              || pattern918 (x2, V8SFmode, V16SFmode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 6398 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && TARGET_AVX512VL)))
            return -1;
          return 2421; /* avx_movshdup256_mask */

        case 9LL:
          x9 = XVECEXP (x4, 0, 3);
          if (XWINT (x9, 0) != 11LL)
            return -1;
          x11 = XVECEXP (x4, 0, 5);
          if (XWINT (x11, 0) != 13LL)
            return -1;
          x13 = XVECEXP (x4, 0, 7);
          if (XWINT (x13, 0) != 15LL)
            return -1;
          x14 = XEXP (x3, 0);
          x15 = XEXP (x14, 1);
          operands[2] = x15;
          x16 = XEXP (x2, 1);
          operands[3] = x16;
          operands[4] = x5;
          switch (GET_MODE (operands[0]))
            {
            case V8DFmode:
              if (pattern753 (x2, V8DFmode, V16DFmode) != 0
                  || !
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                return -1;
              return 2520; /* avx512f_unpckhpd512_mask */

            case V8DImode:
              if (pattern753 (x2, V8DImode, V16DImode) != 0
                  || !
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                return -1;
              return 2703; /* avx512f_interleave_highv8di_mask */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 4LL:
      x7 = XVECEXP (x4, 0, 1);
      if (XWINT (x7, 0) != 12LL)
        return -1;
      x8 = XVECEXP (x4, 0, 2);
      if (XWINT (x8, 0) != 5LL)
        return -1;
      x9 = XVECEXP (x4, 0, 3);
      if (XWINT (x9, 0) != 13LL)
        return -1;
      x10 = XVECEXP (x4, 0, 4);
      if (XWINT (x10, 0) != 6LL)
        return -1;
      x11 = XVECEXP (x4, 0, 5);
      if (XWINT (x11, 0) != 14LL)
        return -1;
      x12 = XVECEXP (x4, 0, 6);
      if (XWINT (x12, 0) != 7LL)
        return -1;
      x13 = XVECEXP (x4, 0, 7);
      if (XWINT (x13, 0) != 15LL
          || pattern919 (x2, V8HImode, V16HImode) != 0
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 12226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && TARGET_AVX512VL && TARGET_AVX512BW)))
        return -1;
      return 3569; /* vec_interleave_highv8hi_mask */

    default:
      return -1;
    }
}

static int
recog_78 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  x5 = XVECEXP (x4, 0, 2);
  if (GET_CODE (x5) != CONST_INT)
    return -1;
  x6 = XVECEXP (x4, 0, 3);
  if (GET_CODE (x6) != CONST_INT)
    return -1;
  x7 = XEXP (x2, 2);
  if (!register_operand (x7, QImode))
    return -1;
  x8 = XVECEXP (x4, 0, 0);
  switch (XWINT (x8, 0))
    {
    case 2LL:
      x9 = XVECEXP (x4, 0, 1);
      if (XWINT (x9, 0) != 6LL
          || XWINT (x5, 0) != 3LL
          || XWINT (x6, 0) != 7LL)
        return -1;
      x10 = XEXP (x3, 0);
      x11 = XEXP (x10, 1);
      operands[2] = x11;
      x12 = XEXP (x2, 1);
      operands[3] = x12;
      operands[4] = x7;
      switch (GET_MODE (operands[0]))
        {
        case V4SFmode:
          if (pattern754 (x2, V4SFmode, V8SFmode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 6272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && TARGET_AVX512VL)))
            return -1;
          return 2413; /* vec_interleave_highv4sf_mask */

        case V4SImode:
          if (pattern754 (x2, V4SImode, V8SImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 12349 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && TARGET_AVX512VL)))
            return -1;
          return 3581; /* vec_interleave_highv4si_mask */

        default:
          return -1;
        }

    case 0LL:
      x9 = XVECEXP (x4, 0, 1);
      switch (XWINT (x9, 0))
        {
        case 4LL:
          x10 = XEXP (x3, 0);
          x11 = XEXP (x10, 1);
          operands[2] = x11;
          x12 = XEXP (x2, 1);
          operands[3] = x12;
          operands[4] = x7;
          switch (XWINT (x5, 0))
            {
            case 1LL:
              if (XWINT (x6, 0) != 5LL)
                return -1;
              switch (GET_MODE (operands[0]))
                {
                case V4SFmode:
                  if (pattern753 (x2, V4SFmode, V8SFmode) != 0
                      || !
#line 6329 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
                    return -1;
                  return 2418; /* unpcklps128_mask */

                case V4SImode:
                  if (pattern754 (x2, V4SImode, V8SImode) != 0
                      || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 12403 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && TARGET_AVX512VL)))
                    return -1;
                  return 3587; /* vec_interleave_lowv4si_mask */

                default:
                  return -1;
                }

            case 2LL:
              if (XWINT (x6, 0) != 6LL)
                return -1;
              switch (GET_MODE (operands[0]))
                {
                case V4DFmode:
                  if (pattern850 (x2, V4DFmode, V8DFmode) != 0
                      || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 8059 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && TARGET_AVX512VL)))
                    return -1;
                  return 2528; /* *avx_unpcklpd256_mask */

                case V4DImode:
                  if (pattern753 (x2, V4DImode, V8DImode) != 0
                      || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 8697 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && TARGET_AVX512VL)))
                    return -1;
                  return 2707; /* avx2_interleave_lowv4di_mask */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case 0LL:
          if (XWINT (x5, 0) != 6LL
              || XWINT (x6, 0) != 6LL
              || pattern752 (x2) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 6467 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE3 && TARGET_AVX512VL)))
            return -1;
          return 2429; /* sse3_movsldup_mask */

        default:
          return -1;
        }

    case 1LL:
      if (XWINT (x6, 0) != 7LL)
        return -1;
      x9 = XVECEXP (x4, 0, 1);
      switch (XWINT (x9, 0))
        {
        case 1LL:
          if (XWINT (x5, 0) != 7LL
              || pattern752 (x2) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 6414 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE3 && TARGET_AVX512VL)))
            return -1;
          return 2423; /* sse3_movshdup_mask */

        case 5LL:
          if (XWINT (x5, 0) != 3LL)
            return -1;
          x10 = XEXP (x3, 0);
          x11 = XEXP (x10, 1);
          operands[2] = x11;
          x12 = XEXP (x2, 1);
          operands[3] = x12;
          operands[4] = x7;
          switch (GET_MODE (operands[0]))
            {
            case V4DFmode:
              if (pattern753 (x2, V4DFmode, V8DFmode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 7898 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && TARGET_AVX512VL)))
                return -1;
              return 2522; /* avx_unpckhpd256_mask */

            case V4DImode:
              if (pattern753 (x2, V4DImode, V8DImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 8647 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && TARGET_AVX512VL)))
                return -1;
              return 2701; /* avx2_interleave_highv4di_mask */

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_79 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 1);
  operands[2] = x5;
  x6 = XEXP (x2, 1);
  operands[3] = x6;
  x7 = XEXP (x2, 2);
  operands[4] = x7;
  if (!register_operand (operands[4], QImode))
    return -1;
  x8 = XEXP (x3, 1);
  x9 = XVECEXP (x8, 0, 0);
  switch (XWINT (x9, 0))
    {
    case 1LL:
      x10 = XVECEXP (x8, 0, 1);
      if (XWINT (x10, 0) != 3LL)
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case V2DFmode:
          if (pattern753 (x2, V2DFmode, V4DFmode) != 0
              || !
#line 7943 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2523; /* avx512vl_unpckhpd128_mask */

        case V2DImode:
          if (pattern754 (x2, V2DImode, V4DImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 8677 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && TARGET_AVX512VL)))
            return -1;
          return 2705; /* vec_interleave_highv2di_mask */

        default:
          return -1;
        }

    case 0LL:
      x10 = XVECEXP (x8, 0, 1);
      if (XWINT (x10, 0) != 2LL)
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case V2DFmode:
          if (pattern753 (x2, V2DFmode, V4DFmode) != 0
              || !
#line 8105 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2529; /* avx512vl_unpcklpd128_mask */

        case V2DImode:
          if (pattern754 (x2, V2DImode, V4DImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 8727 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && TARGET_AVX512VL)))
            return -1;
          return 2711; /* vec_interleave_lowv2di_mask */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_80 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19, x20, x21, x22, x23, x24, x25;
  rtx x26, x27, x28, x29, x30, x31, x32, x33;
  rtx x34, x35, x36, x37, x38, x39, x40, x41;
  rtx x42, x43, x44, x45, x46, x47, x48, x49;
  rtx x50, x51, x52, x53, x54, x55, x56, x57;
  rtx x58, x59, x60, x61, x62, x63, x64, x65;
  rtx x66, x67, x68, x69, x70;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  if (pattern372 (x4) != 0)
    return -1;
  x5 = XVECEXP (x4, 0, 32);
  if (GET_CODE (x5) != CONST_INT)
    return -1;
  x6 = XVECEXP (x4, 0, 33);
  if (GET_CODE (x6) != CONST_INT)
    return -1;
  x7 = XVECEXP (x4, 0, 34);
  if (GET_CODE (x7) != CONST_INT)
    return -1;
  x8 = XVECEXP (x4, 0, 35);
  if (GET_CODE (x8) != CONST_INT)
    return -1;
  x9 = XVECEXP (x4, 0, 36);
  if (GET_CODE (x9) != CONST_INT)
    return -1;
  x10 = XVECEXP (x4, 0, 37);
  if (GET_CODE (x10) != CONST_INT)
    return -1;
  x11 = XVECEXP (x4, 0, 38);
  if (GET_CODE (x11) != CONST_INT)
    return -1;
  x12 = XVECEXP (x4, 0, 39);
  if (GET_CODE (x12) != CONST_INT)
    return -1;
  x13 = XVECEXP (x4, 0, 40);
  if (GET_CODE (x13) != CONST_INT)
    return -1;
  x14 = XVECEXP (x4, 0, 41);
  if (GET_CODE (x14) != CONST_INT)
    return -1;
  x15 = XVECEXP (x4, 0, 42);
  if (GET_CODE (x15) != CONST_INT)
    return -1;
  x16 = XVECEXP (x4, 0, 43);
  if (GET_CODE (x16) != CONST_INT)
    return -1;
  x17 = XVECEXP (x4, 0, 44);
  if (GET_CODE (x17) != CONST_INT)
    return -1;
  x18 = XVECEXP (x4, 0, 45);
  if (GET_CODE (x18) != CONST_INT)
    return -1;
  x19 = XVECEXP (x4, 0, 46);
  if (GET_CODE (x19) != CONST_INT)
    return -1;
  x20 = XVECEXP (x4, 0, 47);
  if (GET_CODE (x20) != CONST_INT)
    return -1;
  x21 = XVECEXP (x4, 0, 48);
  if (GET_CODE (x21) != CONST_INT)
    return -1;
  x22 = XVECEXP (x4, 0, 49);
  if (GET_CODE (x22) != CONST_INT)
    return -1;
  x23 = XVECEXP (x4, 0, 50);
  if (GET_CODE (x23) != CONST_INT)
    return -1;
  x24 = XVECEXP (x4, 0, 51);
  if (GET_CODE (x24) != CONST_INT)
    return -1;
  x25 = XVECEXP (x4, 0, 52);
  if (GET_CODE (x25) != CONST_INT)
    return -1;
  x26 = XVECEXP (x4, 0, 53);
  if (GET_CODE (x26) != CONST_INT)
    return -1;
  x27 = XVECEXP (x4, 0, 54);
  if (GET_CODE (x27) != CONST_INT)
    return -1;
  x28 = XVECEXP (x4, 0, 55);
  if (GET_CODE (x28) != CONST_INT)
    return -1;
  x29 = XVECEXP (x4, 0, 56);
  if (GET_CODE (x29) != CONST_INT)
    return -1;
  x30 = XVECEXP (x4, 0, 57);
  if (GET_CODE (x30) != CONST_INT)
    return -1;
  x31 = XVECEXP (x4, 0, 58);
  if (GET_CODE (x31) != CONST_INT)
    return -1;
  x32 = XVECEXP (x4, 0, 59);
  if (GET_CODE (x32) != CONST_INT)
    return -1;
  x33 = XVECEXP (x4, 0, 60);
  if (GET_CODE (x33) != CONST_INT)
    return -1;
  x34 = XVECEXP (x4, 0, 61);
  if (GET_CODE (x34) != CONST_INT)
    return -1;
  x35 = XVECEXP (x4, 0, 62);
  if (GET_CODE (x35) != CONST_INT)
    return -1;
  x36 = XVECEXP (x4, 0, 63);
  if (GET_CODE (x36) != CONST_INT
      || pattern535 (x2, V64QImode, V128QImode) != 0)
    return -1;
  x37 = XEXP (x2, 1);
  operands[3] = x37;
  if (!vector_move_operand (operands[3], V64QImode))
    return -1;
  x38 = XEXP (x2, 2);
  operands[4] = x38;
  if (!register_operand (operands[4], DImode))
    return -1;
  x39 = XVECEXP (x4, 0, 0);
  switch (XWINT (x39, 0))
    {
    case 8LL:
      x40 = XVECEXP (x4, 0, 1);
      if (XWINT (x40, 0) != 72LL)
        return -1;
      x41 = XVECEXP (x4, 0, 2);
      if (XWINT (x41, 0) != 9LL)
        return -1;
      x42 = XVECEXP (x4, 0, 3);
      if (XWINT (x42, 0) != 73LL)
        return -1;
      x43 = XVECEXP (x4, 0, 4);
      if (XWINT (x43, 0) != 10LL)
        return -1;
      x44 = XVECEXP (x4, 0, 5);
      if (XWINT (x44, 0) != 74LL)
        return -1;
      x45 = XVECEXP (x4, 0, 6);
      if (XWINT (x45, 0) != 11LL)
        return -1;
      x46 = XVECEXP (x4, 0, 7);
      if (XWINT (x46, 0) != 75LL)
        return -1;
      x47 = XVECEXP (x4, 0, 8);
      if (XWINT (x47, 0) != 12LL)
        return -1;
      x48 = XVECEXP (x4, 0, 9);
      if (XWINT (x48, 0) != 76LL)
        return -1;
      x49 = XVECEXP (x4, 0, 10);
      if (XWINT (x49, 0) != 13LL)
        return -1;
      x50 = XVECEXP (x4, 0, 11);
      if (XWINT (x50, 0) != 77LL)
        return -1;
      x51 = XVECEXP (x4, 0, 12);
      if (XWINT (x51, 0) != 14LL)
        return -1;
      x52 = XVECEXP (x4, 0, 13);
      if (XWINT (x52, 0) != 78LL)
        return -1;
      x53 = XVECEXP (x4, 0, 14);
      if (XWINT (x53, 0) != 15LL)
        return -1;
      x54 = XVECEXP (x4, 0, 15);
      if (XWINT (x54, 0) != 79LL)
        return -1;
      x55 = XVECEXP (x4, 0, 16);
      if (XWINT (x55, 0) != 24LL)
        return -1;
      x56 = XVECEXP (x4, 0, 17);
      if (XWINT (x56, 0) != 88LL)
        return -1;
      x57 = XVECEXP (x4, 0, 18);
      if (XWINT (x57, 0) != 25LL)
        return -1;
      x58 = XVECEXP (x4, 0, 19);
      if (XWINT (x58, 0) != 89LL)
        return -1;
      x59 = XVECEXP (x4, 0, 20);
      if (XWINT (x59, 0) != 26LL)
        return -1;
      x60 = XVECEXP (x4, 0, 21);
      if (XWINT (x60, 0) != 90LL)
        return -1;
      x61 = XVECEXP (x4, 0, 22);
      if (XWINT (x61, 0) != 27LL)
        return -1;
      x62 = XVECEXP (x4, 0, 23);
      if (XWINT (x62, 0) != 91LL)
        return -1;
      x63 = XVECEXP (x4, 0, 24);
      if (XWINT (x63, 0) != 28LL)
        return -1;
      x64 = XVECEXP (x4, 0, 25);
      if (XWINT (x64, 0) != 92LL)
        return -1;
      x65 = XVECEXP (x4, 0, 26);
      if (XWINT (x65, 0) != 29LL)
        return -1;
      x66 = XVECEXP (x4, 0, 27);
      if (XWINT (x66, 0) != 93LL)
        return -1;
      x67 = XVECEXP (x4, 0, 28);
      if (XWINT (x67, 0) != 30LL)
        return -1;
      x68 = XVECEXP (x4, 0, 29);
      if (XWINT (x68, 0) != 94LL)
        return -1;
      x69 = XVECEXP (x4, 0, 30);
      if (XWINT (x69, 0) != 31LL)
        return -1;
      x70 = XVECEXP (x4, 0, 31);
      if (XWINT (x70, 0) != 95LL
          || XWINT (x5, 0) != 40LL
          || XWINT (x6, 0) != 104LL
          || XWINT (x7, 0) != 41LL
          || XWINT (x8, 0) != 105LL
          || XWINT (x9, 0) != 42LL
          || XWINT (x10, 0) != 106LL
          || XWINT (x11, 0) != 43LL
          || XWINT (x12, 0) != 107LL
          || XWINT (x13, 0) != 44LL
          || XWINT (x14, 0) != 108LL
          || XWINT (x15, 0) != 45LL
          || XWINT (x16, 0) != 109LL
          || XWINT (x17, 0) != 46LL
          || XWINT (x18, 0) != 110LL
          || XWINT (x19, 0) != 47LL
          || XWINT (x20, 0) != 111LL
          || XWINT (x21, 0) != 56LL
          || XWINT (x22, 0) != 120LL
          || XWINT (x23, 0) != 57LL
          || XWINT (x24, 0) != 121LL
          || XWINT (x25, 0) != 58LL
          || XWINT (x26, 0) != 122LL
          || XWINT (x27, 0) != 59LL
          || XWINT (x28, 0) != 123LL
          || XWINT (x29, 0) != 60LL
          || XWINT (x30, 0) != 124LL
          || XWINT (x31, 0) != 61LL
          || XWINT (x32, 0) != 125LL
          || XWINT (x33, 0) != 62LL
          || XWINT (x34, 0) != 126LL
          || XWINT (x35, 0) != 63LL
          || XWINT (x36, 0) != 127LL
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 12014 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
        return -1;
      return 3553; /* avx512bw_interleave_highv64qi_mask */

    case 0LL:
      x40 = XVECEXP (x4, 0, 1);
      if (XWINT (x40, 0) != 64LL)
        return -1;
      x41 = XVECEXP (x4, 0, 2);
      if (XWINT (x41, 0) != 1LL)
        return -1;
      x42 = XVECEXP (x4, 0, 3);
      if (XWINT (x42, 0) != 65LL)
        return -1;
      x43 = XVECEXP (x4, 0, 4);
      if (XWINT (x43, 0) != 2LL)
        return -1;
      x44 = XVECEXP (x4, 0, 5);
      if (XWINT (x44, 0) != 66LL)
        return -1;
      x45 = XVECEXP (x4, 0, 6);
      if (XWINT (x45, 0) != 3LL)
        return -1;
      x46 = XVECEXP (x4, 0, 7);
      if (XWINT (x46, 0) != 67LL)
        return -1;
      x47 = XVECEXP (x4, 0, 8);
      if (XWINT (x47, 0) != 4LL)
        return -1;
      x48 = XVECEXP (x4, 0, 9);
      if (XWINT (x48, 0) != 68LL)
        return -1;
      x49 = XVECEXP (x4, 0, 10);
      if (XWINT (x49, 0) != 5LL)
        return -1;
      x50 = XVECEXP (x4, 0, 11);
      if (XWINT (x50, 0) != 69LL)
        return -1;
      x51 = XVECEXP (x4, 0, 12);
      if (XWINT (x51, 0) != 6LL)
        return -1;
      x52 = XVECEXP (x4, 0, 13);
      if (XWINT (x52, 0) != 70LL)
        return -1;
      x53 = XVECEXP (x4, 0, 14);
      if (XWINT (x53, 0) != 7LL)
        return -1;
      x54 = XVECEXP (x4, 0, 15);
      if (XWINT (x54, 0) != 71LL)
        return -1;
      x55 = XVECEXP (x4, 0, 16);
      if (XWINT (x55, 0) != 16LL)
        return -1;
      x56 = XVECEXP (x4, 0, 17);
      if (XWINT (x56, 0) != 80LL)
        return -1;
      x57 = XVECEXP (x4, 0, 18);
      if (XWINT (x57, 0) != 17LL)
        return -1;
      x58 = XVECEXP (x4, 0, 19);
      if (XWINT (x58, 0) != 81LL)
        return -1;
      x59 = XVECEXP (x4, 0, 20);
      if (XWINT (x59, 0) != 18LL)
        return -1;
      x60 = XVECEXP (x4, 0, 21);
      if (XWINT (x60, 0) != 82LL)
        return -1;
      x61 = XVECEXP (x4, 0, 22);
      if (XWINT (x61, 0) != 19LL)
        return -1;
      x62 = XVECEXP (x4, 0, 23);
      if (XWINT (x62, 0) != 83LL)
        return -1;
      x63 = XVECEXP (x4, 0, 24);
      if (XWINT (x63, 0) != 20LL)
        return -1;
      x64 = XVECEXP (x4, 0, 25);
      if (XWINT (x64, 0) != 84LL)
        return -1;
      x65 = XVECEXP (x4, 0, 26);
      if (XWINT (x65, 0) != 21LL)
        return -1;
      x66 = XVECEXP (x4, 0, 27);
      if (XWINT (x66, 0) != 85LL)
        return -1;
      x67 = XVECEXP (x4, 0, 28);
      if (XWINT (x67, 0) != 22LL)
        return -1;
      x68 = XVECEXP (x4, 0, 29);
      if (XWINT (x68, 0) != 86LL)
        return -1;
      x69 = XVECEXP (x4, 0, 30);
      if (XWINT (x69, 0) != 23LL)
        return -1;
      x70 = XVECEXP (x4, 0, 31);
      if (XWINT (x70, 0) != 87LL
          || XWINT (x5, 0) != 32LL
          || XWINT (x6, 0) != 96LL
          || XWINT (x7, 0) != 33LL
          || XWINT (x8, 0) != 97LL
          || XWINT (x9, 0) != 34LL
          || XWINT (x10, 0) != 98LL
          || XWINT (x11, 0) != 35LL
          || XWINT (x12, 0) != 99LL
          || XWINT (x13, 0) != 36LL
          || XWINT (x14, 0) != 100LL
          || XWINT (x15, 0) != 37LL
          || XWINT (x16, 0) != 101LL
          || XWINT (x17, 0) != 38LL
          || XWINT (x18, 0) != 102LL
          || XWINT (x19, 0) != 39LL
          || XWINT (x20, 0) != 103LL
          || XWINT (x21, 0) != 48LL
          || XWINT (x22, 0) != 112LL
          || XWINT (x23, 0) != 49LL
          || XWINT (x24, 0) != 113LL
          || XWINT (x25, 0) != 50LL
          || XWINT (x26, 0) != 114LL
          || XWINT (x27, 0) != 51LL
          || XWINT (x28, 0) != 115LL
          || XWINT (x29, 0) != 52LL
          || XWINT (x30, 0) != 116LL
          || XWINT (x31, 0) != 53LL
          || XWINT (x32, 0) != 117LL
          || XWINT (x33, 0) != 54LL
          || XWINT (x34, 0) != 118LL
          || XWINT (x35, 0) != 55LL
          || XWINT (x36, 0) != 119LL
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 12110 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
        return -1;
      return 3559; /* avx512bw_interleave_lowv64qi_mask */

    default:
      return -1;
    }
}

static int
recog_81 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  x5 = XVECEXP (x4, 0, 1);
  operands[3] = x5;
  if (!const_0_to_7_operand (operands[3], VOIDmode))
    return -1;
  x6 = XEXP (x2, 1);
  operands[4] = x6;
  x7 = XEXP (x2, 2);
  operands[5] = x7;
  if (!register_operand (operands[5], QImode))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case V2DFmode:
      if (GET_MODE (x2) != V2DFmode
          || GET_MODE (x3) != V2DFmode
          || !register_operand (operands[1], V8DFmode))
        return -1;
      if (memory_operand (operands[0], V2DFmode)
          && memory_operand (operands[4], V2DFmode)
          && 
#line 7167 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ
   && INTVAL (operands[2]) % 2 == 0
   && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
   && rtx_equal_p (operands[4], operands[0])))
        return 2457; /* avx512dq_vextractf64x2_1_maskm */
      if (!register_operand (operands[0], V2DFmode)
          || !vector_move_operand (operands[4], V2DFmode)
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 7216 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ
   && INTVAL (operands[2]) % 2 == 0
   && INTVAL (operands[2]) == INTVAL (operands[3]) - 1)))
        return -1;
      return 2462; /* avx512dq_vextractf64x2_1_mask */

    case V2DImode:
      if (GET_MODE (x2) != V2DImode
          || GET_MODE (x3) != V2DImode
          || !register_operand (operands[1], V8DImode))
        return -1;
      if (memory_operand (operands[0], V2DImode)
          && memory_operand (operands[4], V2DImode)
          && 
#line 7167 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ
   && INTVAL (operands[2]) % 2 == 0
   && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
   && rtx_equal_p (operands[4], operands[0])))
        return 2458; /* avx512dq_vextracti64x2_1_maskm */
      if (!register_operand (operands[0], V2DImode)
          || !vector_move_operand (operands[4], V2DImode)
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 7216 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ
   && INTVAL (operands[2]) % 2 == 0
   && INTVAL (operands[2]) == INTVAL (operands[3]) - 1)))
        return -1;
      return 2464; /* avx512dq_vextracti64x2_1_mask */

    default:
      return -1;
    }
}

static int
recog_82 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  x5 = XVECEXP (x4, 0, 0);
  if (GET_CODE (x5) != CONST_INT)
    return -1;
  operands[2] = x5;
  if (const_0_to_7_operand (operands[2], VOIDmode))
    {
      res = recog_81 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
    }
  x6 = XVECEXP (x4, 0, 1);
  if (GET_CODE (x6) != CONST_INT)
    return -1;
  x7 = XEXP (x2, 1);
  operands[2] = x7;
  x8 = XEXP (x2, 2);
  operands[3] = x8;
  if (!register_operand (operands[3], QImode))
    return -1;
  switch (XWINT (x5, 0))
    {
    case 0LL:
      if (XWINT (x6, 0) != 1LL)
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case V2DImode:
          if (!register_operand (operands[0], V2DImode)
              || pattern755 (x2, V2DImode, V4DImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 7518 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX
   && TARGET_AVX512VL && TARGET_AVX512DQ
   && (true || !(MEM_P (operands[0]) && MEM_P (operands[1]))))))
            return -1;
          return 2492; /* vec_extract_lo_v4di_mask */

        case V2DFmode:
          if (!register_operand (operands[0], V2DFmode)
              || pattern755 (x2, V2DFmode, V4DFmode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 7518 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX
   && TARGET_AVX512VL && TARGET_AVX512DQ
   && (true || !(MEM_P (operands[0]) && MEM_P (operands[1]))))))
            return -1;
          return 2494; /* vec_extract_lo_v4df_mask */

        default:
          return -1;
        }

    case 2LL:
      if (XWINT (x6, 0) != 3LL)
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case V2DImode:
          if (!register_operand (operands[0], V2DImode)
              || pattern755 (x2, V2DImode, V4DImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 7549 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && TARGET_AVX512VL && TARGET_AVX512DQ)))
            return -1;
          return 2496; /* vec_extract_hi_v4di_mask */

        case V2DFmode:
          if (!register_operand (operands[0], V2DFmode)
              || pattern755 (x2, V2DFmode, V4DFmode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 7549 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && TARGET_AVX512VL && TARGET_AVX512DQ)))
            return -1;
          return 2498; /* vec_extract_hi_v4df_mask */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_83 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  x5 = XVECEXP (x4, 0, 1);
  operands[3] = x5;
  x6 = XVECEXP (x4, 0, 2);
  operands[4] = x6;
  x7 = XVECEXP (x4, 0, 3);
  operands[5] = x7;
  x8 = XEXP (x2, 1);
  operands[6] = x8;
  x9 = XEXP (x2, 2);
  operands[7] = x9;
  if (!register_operand (operands[7], QImode))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case V4SFmode:
      if (GET_MODE (x2) != V4SFmode
          || GET_MODE (x3) != V4SFmode
          || pattern803 (V16SFmode) != 0)
        return -1;
      if (memory_operand (operands[0], V4SFmode)
          && memory_operand (operands[6], V4SFmode)
          && 
#line 7193 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F
   && INTVAL (operands[2]) % 4 == 0
   && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
   && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
   && INTVAL (operands[4]) == INTVAL (operands[5]) - 1
   && rtx_equal_p (operands[6], operands[0])))
        return 2459; /* avx512f_vextractf32x4_1_maskm */
      if (!register_operand (operands[0], V4SFmode)
          || !vector_move_operand (operands[6], V4SFmode)
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 7237 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F
   && INTVAL (operands[2]) % 4 == 0
   && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
   && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
   && INTVAL (operands[4]) == INTVAL (operands[5]) - 1)))
        return -1;
      return 2466; /* avx512f_vextractf32x4_1_mask */

    case V4SImode:
      if (GET_MODE (x2) != V4SImode
          || GET_MODE (x3) != V4SImode)
        return -1;
      if (memory_operand (operands[0], V4SImode)
          && pattern803 (V16SImode) == 0
          && memory_operand (operands[6], V4SImode)
          && 
#line 7193 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F
   && INTVAL (operands[2]) % 4 == 0
   && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
   && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
   && INTVAL (operands[4]) == INTVAL (operands[5]) - 1
   && rtx_equal_p (operands[6], operands[0])))
        return 2460; /* avx512f_vextracti32x4_1_maskm */
      if (!register_operand (operands[0], V4SImode)
          || !vector_move_operand (operands[6], V4SImode))
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case V16SImode:
          if (pattern803 (V16SImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 7237 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F
   && INTVAL (operands[2]) % 4 == 0
   && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
   && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
   && INTVAL (operands[4]) == INTVAL (operands[5]) - 1)))
            return -1;
          return 2468; /* avx512f_vextracti32x4_1_mask */

        case V4SImode:
          if (!vector_operand (operands[1], V4SImode)
              || !const_0_to_3_operand (operands[2], VOIDmode)
              || !const_0_to_3_operand (operands[3], VOIDmode)
              || !const_0_to_3_operand (operands[4], VOIDmode)
              || !const_0_to_3_operand (operands[5], VOIDmode)
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 13094 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && TARGET_AVX512VL)))
            return -1;
          return 3637; /* sse2_pshufd_1_mask */

        default:
          return -1;
        }

    case V4DImode:
      if (pattern756 (x2, V4DImode) != 0
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 17392 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL))))
        return -1;
      return 4132; /* avx2_permv4di_1_mask */

    case V4DFmode:
      if (pattern756 (x2, V4DFmode) != 0
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 17392 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL))))
        return -1;
      return 4134; /* avx2_permv4df_1_mask */

    default:
      return -1;
    }
}

static int
recog_84 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  x5 = XVECEXP (x4, 0, 0);
  if (GET_CODE (x5) != CONST_INT)
    return -1;
  operands[2] = x5;
  res = recog_83 (x1, insn, pnum_clobbers);
  if (res >= 0)
    return res;
  x6 = XVECEXP (x4, 0, 1);
  if (GET_CODE (x6) != CONST_INT)
    return -1;
  x7 = XVECEXP (x4, 0, 2);
  if (GET_CODE (x7) != CONST_INT)
    return -1;
  x8 = XVECEXP (x4, 0, 3);
  if (GET_CODE (x8) != CONST_INT)
    return -1;
  x9 = XEXP (x2, 1);
  operands[2] = x9;
  x10 = XEXP (x2, 2);
  operands[3] = x10;
  switch (XWINT (x5, 0))
    {
    case 0LL:
      if (XWINT (x6, 0) != 1LL
          || XWINT (x7, 0) != 2LL
          || XWINT (x8, 0) != 3LL
          || !register_operand (operands[3], QImode))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case V4DFmode:
          if (GET_MODE (x2) != V4DFmode
              || GET_MODE (x3) != V4DFmode
              || !register_operand (operands[1], V8DFmode))
            return -1;
          if (memory_operand (operands[0], V4DFmode)
              && memory_operand (operands[2], V4DFmode)
              && 
#line 7315 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F
   && rtx_equal_p (operands[2], operands[0])))
            return 2469; /* vec_extract_lo_v8df_maskm */
          if (!register_operand (operands[0], V4DFmode)
              || !vector_move_operand (operands[2], V4DFmode)
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 7330 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F
   && (true || !(MEM_P (operands[0]) && MEM_P (operands[1]))))))
            return -1;
          return 2472; /* vec_extract_lo_v8df_mask */

        case V4DImode:
          if (GET_MODE (x2) != V4DImode
              || GET_MODE (x3) != V4DImode
              || !register_operand (operands[1], V8DImode))
            return -1;
          if (memory_operand (operands[0], V4DImode)
              && memory_operand (operands[2], V4DImode)
              && 
#line 7315 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F
   && rtx_equal_p (operands[2], operands[0])))
            return 2470; /* vec_extract_lo_v8di_maskm */
          if (!register_operand (operands[0], V4DImode)
              || !vector_move_operand (operands[2], V4DImode)
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 7330 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F
   && (true || !(MEM_P (operands[0]) && MEM_P (operands[1]))))))
            return -1;
          return 2474; /* vec_extract_lo_v8di_mask */

        case V4SImode:
          if (GET_MODE (x2) != V4SImode
              || GET_MODE (x3) != V4SImode
              || !register_operand (operands[1], V8SImode))
            return -1;
          if (register_operand (operands[0], V4SImode)
              && vector_move_operand (operands[2], V4SImode)
              && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 7587 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX
   && TARGET_AVX512VL && TARGET_AVX512DQ
   && (true || !(MEM_P (operands[0]) && MEM_P (operands[1]))))))
            return 2500; /* vec_extract_lo_v8si_mask */
          if (!memory_operand (operands[0], V4SImode)
              || !memory_operand (operands[2], V4SImode)
              || !
#line 7611 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL && TARGET_AVX512F
   && rtx_equal_p (operands[2], operands[0])))
            return -1;
          return 2503; /* vec_extract_lo_v8si_maskm */

        case V4SFmode:
          if (GET_MODE (x2) != V4SFmode
              || GET_MODE (x3) != V4SFmode
              || !register_operand (operands[1], V8SFmode))
            return -1;
          if (register_operand (operands[0], V4SFmode)
              && vector_move_operand (operands[2], V4SFmode)
              && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 7587 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX
   && TARGET_AVX512VL && TARGET_AVX512DQ
   && (true || !(MEM_P (operands[0]) && MEM_P (operands[1]))))))
            return 2502; /* vec_extract_lo_v8sf_mask */
          if (!memory_operand (operands[0], V4SFmode)
              || !memory_operand (operands[2], V4SFmode)
              || !
#line 7611 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL && TARGET_AVX512F
   && rtx_equal_p (operands[2], operands[0])))
            return -1;
          return 2504; /* vec_extract_lo_v8sf_maskm */

        default:
          return -1;
        }

    case 4LL:
      if (XWINT (x6, 0) != 5LL
          || XWINT (x7, 0) != 6LL
          || XWINT (x8, 0) != 7LL)
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case V4DFmode:
          if (pattern804 (x2, V8DFmode, V4DFmode) != 0)
            return -1;
          if (memory_operand (operands[0], V4DFmode)
              && memory_operand (operands[2], V4DFmode)
              && 
#line 7353 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F
   && rtx_equal_p (operands[2], operands[0])))
            return 2475; /* vec_extract_hi_v8df_maskm */
          if (!register_operand (operands[0], V4DFmode)
              || !vector_move_operand (operands[2], V4DFmode)
              || !
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
            return -1;
          return 2478; /* vec_extract_hi_v8df_mask */

        case V4DImode:
          if (pattern804 (x2, V8DImode, V4DImode) != 0)
            return -1;
          if (memory_operand (operands[0], V4DImode)
              && memory_operand (operands[2], V4DImode)
              && 
#line 7353 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F
   && rtx_equal_p (operands[2], operands[0])))
            return 2476; /* vec_extract_hi_v8di_maskm */
          if (!register_operand (operands[0], V4DImode)
              || !vector_move_operand (operands[2], V4DImode)
              || !
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
            return -1;
          return 2480; /* vec_extract_hi_v8di_mask */

        case V4SImode:
          if (GET_MODE (x2) != V4SImode
              || GET_MODE (x3) != V4SImode
              || !register_operand (operands[1], V8SImode))
            return -1;
          if (memory_operand (operands[0], V4SImode)
              && memory_operand (operands[2], V4SImode)
              && register_operand (operands[3], V4SImode)
              && 
#line 7629 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && TARGET_AVX512VL
   && rtx_equal_p (operands[2], operands[0])))
            return 2505; /* vec_extract_hi_v8si_maskm */
          if (!register_operand (operands[0], V4SImode)
              || !vector_move_operand (operands[2], V4SImode)
              || !register_operand (operands[3], QImode)
              || !
#line 7646 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2507; /* vec_extract_hi_v8si_mask */

        case V4SFmode:
          if (GET_MODE (x2) != V4SFmode
              || GET_MODE (x3) != V4SFmode
              || !register_operand (operands[1], V8SFmode))
            return -1;
          if (memory_operand (operands[0], V4SFmode)
              && memory_operand (operands[2], V4SFmode)
              && register_operand (operands[3], V4SFmode)
              && 
#line 7629 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && TARGET_AVX512VL
   && rtx_equal_p (operands[2], operands[0])))
            return 2506; /* vec_extract_hi_v8sf_maskm */
          if (!register_operand (operands[0], V4SFmode)
              || !vector_move_operand (operands[2], V4SFmode)
              || !register_operand (operands[3], QImode)
              || !
#line 7646 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2508; /* vec_extract_hi_v8sf_mask */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_85 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  if (pattern486 (x4) != 0)
    return -1;
  x5 = XEXP (x2, 1);
  operands[2] = x5;
  x6 = XEXP (x2, 2);
  operands[3] = x6;
  if (!register_operand (operands[3], QImode))
    return -1;
  x7 = XVECEXP (x4, 0, 0);
  switch (XWINT (x7, 0))
    {
    case 8LL:
      x8 = XVECEXP (x4, 0, 1);
      if (XWINT (x8, 0) != 9LL)
        return -1;
      x9 = XVECEXP (x4, 0, 2);
      if (XWINT (x9, 0) != 10LL)
        return -1;
      x10 = XVECEXP (x4, 0, 3);
      if (XWINT (x10, 0) != 11LL)
        return -1;
      x11 = XVECEXP (x4, 0, 4);
      if (XWINT (x11, 0) != 12LL)
        return -1;
      x12 = XVECEXP (x4, 0, 5);
      if (XWINT (x12, 0) != 13LL)
        return -1;
      x13 = XVECEXP (x4, 0, 6);
      if (XWINT (x13, 0) != 14LL)
        return -1;
      x14 = XVECEXP (x4, 0, 7);
      if (XWINT (x14, 0) != 15LL)
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case V8SFmode:
          if (GET_MODE (x2) != V8SFmode
              || GET_MODE (x3) != V8SFmode
              || !register_operand (operands[1], V16SFmode))
            return -1;
          if (memory_operand (operands[0], V8SFmode)
              && memory_operand (operands[2], V8SFmode)
              && 
#line 7388 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ
   && rtx_equal_p (operands[2], operands[0])))
            return 2481; /* vec_extract_hi_v16sf_maskm */
          if (!register_operand (operands[0], V8SFmode)
              || !vector_move_operand (operands[2], V8SFmode)
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 7405 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && TARGET_AVX512DQ)))
            return -1;
          return 2484; /* vec_extract_hi_v16sf_mask */

        case V8SImode:
          if (GET_MODE (x2) != V8SImode
              || GET_MODE (x3) != V8SImode
              || !register_operand (operands[1], V16SImode))
            return -1;
          if (memory_operand (operands[0], V8SImode)
              && memory_operand (operands[2], V8SImode)
              && 
#line 7388 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ
   && rtx_equal_p (operands[2], operands[0])))
            return 2482; /* vec_extract_hi_v16si_maskm */
          if (!register_operand (operands[0], V8SImode)
              || !vector_move_operand (operands[2], V8SImode)
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 7405 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && TARGET_AVX512DQ)))
            return -1;
          return 2486; /* vec_extract_hi_v16si_mask */

        default:
          return -1;
        }

    case 0LL:
      x8 = XVECEXP (x4, 0, 1);
      if (XWINT (x8, 0) != 1LL)
        return -1;
      x9 = XVECEXP (x4, 0, 2);
      if (XWINT (x9, 0) != 2LL)
        return -1;
      x10 = XVECEXP (x4, 0, 3);
      if (XWINT (x10, 0) != 3LL)
        return -1;
      x11 = XVECEXP (x4, 0, 4);
      if (XWINT (x11, 0) != 4LL)
        return -1;
      x12 = XVECEXP (x4, 0, 5);
      if (XWINT (x12, 0) != 5LL)
        return -1;
      x13 = XVECEXP (x4, 0, 6);
      if (XWINT (x13, 0) != 6LL)
        return -1;
      x14 = XVECEXP (x4, 0, 7);
      if (XWINT (x14, 0) != 7LL)
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case V8SFmode:
          if (!nonimmediate_operand (operands[0], V8SFmode)
              || pattern755 (x2, V8SFmode, V16SFmode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 7489 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F
   && (64 == 64 || TARGET_AVX512VL)
   && (true || !(MEM_P (operands[0]) && MEM_P (operands[1]))))))
            return -1;
          return 2488; /* vec_extract_lo_v16sf_mask */

        case V8SImode:
          if (!nonimmediate_operand (operands[0], V8SImode)
              || pattern755 (x2, V8SImode, V16SImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 7489 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F
   && (64 == 64 || TARGET_AVX512VL)
   && (true || !(MEM_P (operands[0]) && MEM_P (operands[1]))))))
            return -1;
          return 2490; /* vec_extract_lo_v16si_mask */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_86 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  x5 = XVECEXP (x4, 0, 4);
  if (GET_CODE (x5) != CONST_INT)
    return -1;
  operands[6] = x5;
  if (const_4_to_7_operand (operands[6], VOIDmode)
      && pattern670 (x4) == 0)
    {
      x6 = XEXP (x2, 1);
      operands[10] = x6;
      x7 = XEXP (x2, 2);
      operands[11] = x7;
      if (register_operand (operands[11], QImode))
        {
          switch (GET_MODE (operands[0]))
            {
            case V8SImode:
              if (pattern959 (x2, V8SImode) == 0
                  && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 13032 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2
   && TARGET_AVX512VL
   && 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 3635; /* avx2_pshufd_1_mask */
              break;

            case V8DFmode:
              if (pattern959 (x2, V8DFmode) == 0
                  && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 17459 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL)
   && (INTVAL (operands[2]) == (INTVAL (operands[6]) - 4)
       && INTVAL (operands[3]) == (INTVAL (operands[7]) - 4)
       && INTVAL (operands[4]) == (INTVAL (operands[8]) - 4)
       && INTVAL (operands[5]) == (INTVAL (operands[9]) - 4)))))
                return 4136; /* avx512f_permv8df_1_mask */
              break;

            case V8DImode:
              if (pattern959 (x2, V8DImode) == 0
                  && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 17459 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL)
   && (INTVAL (operands[2]) == (INTVAL (operands[6]) - 4)
       && INTVAL (operands[3]) == (INTVAL (operands[7]) - 4)
       && INTVAL (operands[4]) == (INTVAL (operands[8]) - 4)
       && INTVAL (operands[5]) == (INTVAL (operands[9]) - 4)))))
                return 4138; /* avx512f_permv8di_1_mask */
              break;

            default:
              break;
            }
        }
    }
  if (XWINT (x5, 0) != 4LL)
    return -1;
  x8 = XVECEXP (x4, 0, 5);
  if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
    return -1;
  x9 = XVECEXP (x4, 0, 6);
  if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
    return -1;
  x10 = XVECEXP (x4, 0, 7);
  if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
      || pattern605 (x2, V8HImode) != 0)
    return -1;
  x11 = XVECEXP (x4, 0, 1);
  operands[3] = x11;
  if (!const_0_to_3_operand (operands[3], VOIDmode))
    return -1;
  x12 = XVECEXP (x4, 0, 2);
  operands[4] = x12;
  if (!const_0_to_3_operand (operands[4], VOIDmode))
    return -1;
  x13 = XVECEXP (x4, 0, 3);
  operands[5] = x13;
  if (!const_0_to_3_operand (operands[5], VOIDmode))
    return -1;
  x6 = XEXP (x2, 1);
  operands[6] = x6;
  if (!vector_move_operand (operands[6], V8HImode))
    return -1;
  x7 = XEXP (x2, 2);
  operands[7] = x7;
  if (!register_operand (operands[7], QImode)
      || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 13250 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && TARGET_AVX512BW && TARGET_AVX512VL)))
    return -1;
  return 3643; /* sse2_pshuflw_1_mask */
}

static int
recog_87 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  x5 = XVECEXP (x4, 0, 0);
  if (GET_CODE (x5) != CONST_INT)
    return -1;
  x6 = XVECEXP (x4, 0, 1);
  if (GET_CODE (x6) == CONST_INT)
    {
      res = recog_85 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
    }
  operands[2] = x5;
  if (const_0_to_3_operand (operands[2], VOIDmode))
    {
      res = recog_86 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
    }
  if (XWINT (x5, 0) != 0LL
      || x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x7 = XVECEXP (x4, 0, 2);
  if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
    return -1;
  x8 = XVECEXP (x4, 0, 3);
  if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 3]
      || pattern605 (x2, V8HImode) != 0
      || pattern757 (x4) != 0)
    return -1;
  x9 = XEXP (x2, 1);
  operands[6] = x9;
  if (!vector_move_operand (operands[6], V8HImode))
    return -1;
  x10 = XEXP (x2, 2);
  operands[7] = x10;
  if (!register_operand (operands[7], QImode)
      || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 13407 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && TARGET_AVX512BW && TARGET_AVX512VL)))
    return -1;
  return 3649; /* sse2_pshufhw_1_mask */
}

static int
recog_88 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != V16SImode)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != V16SImode
      || !nonimmediate_operand (operands[1], V16SImode))
    return -1;
  x4 = XEXP (x3, 1);
  if (pattern670 (x4) != 0)
    return -1;
  x5 = XVECEXP (x4, 0, 8);
  operands[10] = x5;
  if (!const_8_to_11_operand (operands[10], VOIDmode))
    return -1;
  x6 = XVECEXP (x4, 0, 9);
  operands[11] = x6;
  if (!const_8_to_11_operand (operands[11], VOIDmode))
    return -1;
  x7 = XVECEXP (x4, 0, 10);
  operands[12] = x7;
  if (!const_8_to_11_operand (operands[12], VOIDmode))
    return -1;
  x8 = XVECEXP (x4, 0, 11);
  operands[13] = x8;
  if (!const_8_to_11_operand (operands[13], VOIDmode))
    return -1;
  x9 = XVECEXP (x4, 0, 12);
  operands[14] = x9;
  if (!const_12_to_15_operand (operands[14], VOIDmode))
    return -1;
  x10 = XVECEXP (x4, 0, 13);
  operands[15] = x10;
  if (!const_12_to_15_operand (operands[15], VOIDmode))
    return -1;
  x11 = XVECEXP (x4, 0, 14);
  operands[16] = x11;
  if (!const_12_to_15_operand (operands[16], VOIDmode))
    return -1;
  x12 = XVECEXP (x4, 0, 15);
  operands[17] = x12;
  if (!const_12_to_15_operand (operands[17], VOIDmode))
    return -1;
  x13 = XEXP (x2, 1);
  operands[18] = x13;
  if (!vector_move_operand (operands[18], V16SImode))
    return -1;
  x14 = XEXP (x2, 2);
  operands[19] = x14;
  if (!register_operand (operands[19], HImode)
      || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 12951 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F
   && 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])
   && INTVAL (operands[2]) + 8 == INTVAL (operands[10])
   && INTVAL (operands[3]) + 8 == INTVAL (operands[11])
   && INTVAL (operands[4]) + 8 == INTVAL (operands[12])
   && INTVAL (operands[5]) + 8 == INTVAL (operands[13])
   && INTVAL (operands[2]) + 12 == INTVAL (operands[14])
   && INTVAL (operands[3]) + 12 == INTVAL (operands[15])
   && INTVAL (operands[4]) + 12 == INTVAL (operands[16])
   && INTVAL (operands[5]) + 12 == INTVAL (operands[17]))))
    return -1;
  return 3633; /* avx512f_pshufd_1_mask */
}

static int
recog_89 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  x5 = XVECEXP (x4, 0, 4);
  if (GET_CODE (x5) != CONST_INT)
    return -1;
  operands[6] = x5;
  if (const_4_to_7_operand (operands[6], VOIDmode)
      && register_operand (operands[0], V16SImode))
    {
      res = recog_88 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
    }
  if (XWINT (x5, 0) != 4LL)
    return -1;
  x6 = XVECEXP (x4, 0, 5);
  if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
    return -1;
  x7 = XVECEXP (x4, 0, 6);
  if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
    return -1;
  x8 = XVECEXP (x4, 0, 7);
  if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
      || pattern728 (x4) != 0
      || !register_operand (operands[0], V16HImode)
      || GET_MODE (x2) != V16HImode
      || GET_MODE (x3) != V16HImode
      || !nonimmediate_operand (operands[1], V16HImode))
    return -1;
  x9 = XVECEXP (x4, 0, 1);
  operands[3] = x9;
  if (!const_0_to_3_operand (operands[3], VOIDmode))
    return -1;
  x10 = XVECEXP (x4, 0, 2);
  operands[4] = x10;
  if (!const_0_to_3_operand (operands[4], VOIDmode))
    return -1;
  x11 = XVECEXP (x4, 0, 3);
  operands[5] = x11;
  if (!const_0_to_3_operand (operands[5], VOIDmode))
    return -1;
  x12 = XVECEXP (x4, 0, 8);
  operands[6] = x12;
  if (!const_8_to_11_operand (operands[6], VOIDmode))
    return -1;
  x13 = XVECEXP (x4, 0, 9);
  operands[7] = x13;
  if (!const_8_to_11_operand (operands[7], VOIDmode))
    return -1;
  x14 = XVECEXP (x4, 0, 10);
  operands[8] = x14;
  if (!const_8_to_11_operand (operands[8], VOIDmode))
    return -1;
  x15 = XVECEXP (x4, 0, 11);
  operands[9] = x15;
  if (!const_8_to_11_operand (operands[9], VOIDmode))
    return -1;
  x16 = XEXP (x2, 1);
  operands[10] = x16;
  if (!vector_move_operand (operands[10], V16HImode))
    return -1;
  x17 = XEXP (x2, 2);
  operands[11] = x17;
  if (!register_operand (operands[11], HImode)
      || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 13184 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2
   && TARGET_AVX512BW && TARGET_AVX512VL
   && 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 -1;
  return 3641; /* avx2_pshuflw_1_mask */
}

static int
recog_90 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  x5 = XVECEXP (x4, 0, 0);
  if (GET_CODE (x5) != CONST_INT)
    return -1;
  operands[2] = x5;
  if (const_0_to_3_operand (operands[2], VOIDmode))
    {
      res = recog_89 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
    }
  if (XWINT (x5, 0) != 0LL)
    return -1;
  x6 = XVECEXP (x4, 0, 1);
  if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x7 = XVECEXP (x4, 0, 2);
  if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
    return -1;
  x8 = XVECEXP (x4, 0, 3);
  if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 3]
      || pattern606 (x4) != 0
      || pattern357 (x2, V16HImode) != 0
      || pattern757 (x4) != 0)
    return -1;
  x9 = XVECEXP (x4, 0, 12);
  operands[6] = x9;
  if (!const_12_to_15_operand (operands[6], VOIDmode))
    return -1;
  x10 = XVECEXP (x4, 0, 13);
  operands[7] = x10;
  if (!const_12_to_15_operand (operands[7], VOIDmode))
    return -1;
  x11 = XVECEXP (x4, 0, 14);
  operands[8] = x11;
  if (!const_12_to_15_operand (operands[8], VOIDmode))
    return -1;
  x12 = XVECEXP (x4, 0, 15);
  operands[9] = x12;
  if (!const_12_to_15_operand (operands[9], VOIDmode))
    return -1;
  x13 = XEXP (x2, 1);
  operands[10] = x13;
  if (!vector_move_operand (operands[10], V16HImode))
    return -1;
  x14 = XEXP (x2, 2);
  operands[11] = x14;
  if (!register_operand (operands[11], HImode)
      || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 13341 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2
   && TARGET_AVX512BW && TARGET_AVX512VL
   && 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 -1;
  return 3647; /* avx2_pshufhw_1_mask */
}

static int
recog_91 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19, x20, x21, x22, x23, x24, x25;
  rtx x26, x27, x28, x29, x30, x31, x32, x33;
  rtx x34, x35, x36, x37, x38, x39, x40, x41;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  operands[1] = x5;
  x6 = XEXP (x3, 1);
  switch (XVECLEN (x6, 0))
    {
    case 16:
      x7 = XVECEXP (x6, 0, 0);
      if (GET_CODE (x7) != CONST_INT)
        return -1;
      x8 = XVECEXP (x6, 0, 1);
      if (GET_CODE (x8) == CONST_INT)
        {
          res = recog_76 (x1, insn, pnum_clobbers);
          if (res >= 0)
            return res;
        }
      operands[3] = x7;
      x9 = XEXP (x4, 1);
      operands[2] = x9;
      operands[4] = x8;
      x10 = XVECEXP (x6, 0, 2);
      operands[5] = x10;
      x11 = XVECEXP (x6, 0, 3);
      operands[6] = x11;
      x12 = XVECEXP (x6, 0, 4);
      operands[7] = x12;
      x13 = XVECEXP (x6, 0, 5);
      operands[8] = x13;
      x14 = XVECEXP (x6, 0, 6);
      operands[9] = x14;
      x15 = XVECEXP (x6, 0, 7);
      operands[10] = x15;
      x16 = XVECEXP (x6, 0, 8);
      operands[11] = x16;
      x17 = XVECEXP (x6, 0, 9);
      operands[12] = x17;
      x18 = XVECEXP (x6, 0, 10);
      operands[13] = x18;
      x19 = XVECEXP (x6, 0, 11);
      operands[14] = x19;
      x20 = XVECEXP (x6, 0, 12);
      operands[15] = x20;
      x21 = XVECEXP (x6, 0, 13);
      operands[16] = x21;
      x22 = XVECEXP (x6, 0, 14);
      operands[17] = x22;
      x23 = XVECEXP (x6, 0, 15);
      operands[18] = x23;
      x24 = XEXP (x2, 1);
      operands[19] = x24;
      x25 = XEXP (x2, 2);
      operands[20] = x25;
      if (!register_operand (operands[20], HImode))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case V16SFmode:
          if (pattern776 (x2, V16SFmode, V32SFmode) != 0
              || !vector_move_operand (operands[19], V16SFmode))
            return -1;
          if (const_0_to_3_operand (operands[3], VOIDmode)
              && const_0_to_3_operand (operands[4], VOIDmode)
              && const_16_to_19_operand (operands[5], VOIDmode)
              && const_16_to_19_operand (operands[6], VOIDmode)
              && const_4_to_7_operand (operands[7], VOIDmode)
              && const_4_to_7_operand (operands[8], VOIDmode)
              && const_20_to_23_operand (operands[9], VOIDmode)
              && const_20_to_23_operand (operands[10], VOIDmode)
              && const_8_to_11_operand (operands[11], VOIDmode)
              && const_8_to_11_operand (operands[12], VOIDmode)
              && const_24_to_27_operand (operands[13], VOIDmode)
              && const_24_to_27_operand (operands[14], VOIDmode)
              && const_12_to_15_operand (operands[15], VOIDmode)
              && const_12_to_15_operand (operands[16], VOIDmode)
              && const_28_to_31_operand (operands[17], VOIDmode)
              && const_28_to_31_operand (operands[18], VOIDmode)
              && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 8466 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F
   && (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)
       && INTVAL (operands[3]) == (INTVAL (operands[11]) - 8)
       && INTVAL (operands[4]) == (INTVAL (operands[12]) - 8)
       && INTVAL (operands[5]) == (INTVAL (operands[13]) - 8)
       && INTVAL (operands[6]) == (INTVAL (operands[14]) - 8)
       && INTVAL (operands[3]) == (INTVAL (operands[15]) - 12)
       && INTVAL (operands[4]) == (INTVAL (operands[16]) - 12)
       && INTVAL (operands[5]) == (INTVAL (operands[17]) - 12)
       && INTVAL (operands[6]) == (INTVAL (operands[18]) - 12)))))
            return 2694; /* avx512f_shufps512_1_mask */
          if (!const_0_to_15_operand (operands[3], VOIDmode)
              || pattern974 () != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 12873 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F
   && (INTVAL (operands[3]) == (INTVAL (operands[4]) - 1)
       && INTVAL (operands[3]) == (INTVAL (operands[5]) - 2)
       && INTVAL (operands[3]) == (INTVAL (operands[6]) - 3)
       && INTVAL (operands[7]) == (INTVAL (operands[8]) - 1)
       && INTVAL (operands[7]) == (INTVAL (operands[9]) - 2)
       && INTVAL (operands[7]) == (INTVAL (operands[10]) - 3)
       && INTVAL (operands[11]) == (INTVAL (operands[12]) - 1)
       && INTVAL (operands[11]) == (INTVAL (operands[13]) - 2)
       && INTVAL (operands[11]) == (INTVAL (operands[14]) - 3)
       && INTVAL (operands[15]) == (INTVAL (operands[16]) - 1)
       && INTVAL (operands[15]) == (INTVAL (operands[17]) - 2)
       && INTVAL (operands[15]) == (INTVAL (operands[18]) - 3)))))
            return -1;
          return 3629; /* avx512f_shuf_f32x4_1_mask */

        case V16SImode:
          if (pattern776 (x2, V16SImode, V32SImode) != 0
              || !const_0_to_15_operand (operands[3], VOIDmode)
              || pattern974 () != 0
              || !vector_move_operand (operands[19], V16SImode)
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 12873 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F
   && (INTVAL (operands[3]) == (INTVAL (operands[4]) - 1)
       && INTVAL (operands[3]) == (INTVAL (operands[5]) - 2)
       && INTVAL (operands[3]) == (INTVAL (operands[6]) - 3)
       && INTVAL (operands[7]) == (INTVAL (operands[8]) - 1)
       && INTVAL (operands[7]) == (INTVAL (operands[9]) - 2)
       && INTVAL (operands[7]) == (INTVAL (operands[10]) - 3)
       && INTVAL (operands[11]) == (INTVAL (operands[12]) - 1)
       && INTVAL (operands[11]) == (INTVAL (operands[13]) - 2)
       && INTVAL (operands[11]) == (INTVAL (operands[14]) - 3)
       && INTVAL (operands[15]) == (INTVAL (operands[16]) - 1)
       && INTVAL (operands[15]) == (INTVAL (operands[17]) - 2)
       && INTVAL (operands[15]) == (INTVAL (operands[18]) - 3)))))
            return -1;
          return 3631; /* avx512f_shuf_i32x4_1_mask */

        default:
          return -1;
        }

    case 8:
      x7 = XVECEXP (x6, 0, 0);
      if (GET_CODE (x7) != CONST_INT)
        return -1;
      x8 = XVECEXP (x6, 0, 1);
      if (GET_CODE (x8) == CONST_INT)
        {
          res = recog_77 (x1, insn, pnum_clobbers);
          if (res >= 0)
            return res;
        }
      operands[3] = x7;
      x9 = XEXP (x4, 1);
      operands[2] = x9;
      operands[4] = x8;
      x10 = XVECEXP (x6, 0, 2);
      operands[5] = x10;
      x11 = XVECEXP (x6, 0, 3);
      operands[6] = x11;
      x12 = XVECEXP (x6, 0, 4);
      operands[7] = x12;
      x13 = XVECEXP (x6, 0, 5);
      operands[8] = x13;
      x14 = XVECEXP (x6, 0, 6);
      operands[9] = x14;
      x15 = XVECEXP (x6, 0, 7);
      operands[10] = x15;
      x24 = XEXP (x2, 1);
      operands[11] = x24;
      x25 = XEXP (x2, 2);
      operands[12] = x25;
      if (!register_operand (operands[12], QImode))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case V8SFmode:
          if (pattern876 (x2, V8SFmode, V16SFmode) != 0)
            return -1;
          if (const_0_to_3_operand (operands[3], VOIDmode)
              && const_0_to_3_operand (operands[4], VOIDmode)
              && const_8_to_11_operand (operands[5], VOIDmode)
              && const_8_to_11_operand (operands[6], VOIDmode)
              && const_4_to_7_operand (operands[7], VOIDmode)
              && const_4_to_7_operand (operands[8], VOIDmode)
              && const_12_to_15_operand (operands[9], VOIDmode)
              && const_12_to_15_operand (operands[10], VOIDmode)
              && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 6532 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX
   && TARGET_AVX512VL
   && (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 2433; /* avx_shufps256_1_mask */
          if (!const_0_to_7_operand (operands[3], VOIDmode)
              || pattern958 () != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 12799 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL
   && (INTVAL (operands[3]) == (INTVAL (operands[4]) - 1)
       && INTVAL (operands[3]) == (INTVAL (operands[5]) - 2)
       && INTVAL (operands[3]) == (INTVAL (operands[6]) - 3)
       && INTVAL (operands[7]) == (INTVAL (operands[8]) - 1)
       && INTVAL (operands[7]) == (INTVAL (operands[9]) - 2)
       && INTVAL (operands[7]) == (INTVAL (operands[10]) - 3)))))
            return -1;
          return 3627; /* avx512vl_shuf_f32x4_1_mask */

        case V8DFmode:
          if (pattern876 (x2, V8DFmode, V16DFmode) != 0)
            return -1;
          if (const_0_to_1_operand (operands[3], VOIDmode)
              && const_8_to_9_operand (operands[4], VOIDmode)
              && const_2_to_3_operand (operands[5], VOIDmode)
              && const_10_to_11_operand (operands[6], VOIDmode)
              && const_4_to_5_operand (operands[7], VOIDmode)
              && const_12_to_13_operand (operands[8], VOIDmode)
              && const_6_to_7_operand (operands[9], VOIDmode)
              && const_14_to_15_operand (operands[10], VOIDmode)
              && 
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
            return 2696; /* avx512f_shufpd512_1_mask */
          if (!const_0_to_7_operand (operands[3], VOIDmode)
              || pattern958 () != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 12741 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F
   && (INTVAL (operands[3]) == (INTVAL (operands[4]) - 1)
       && INTVAL (operands[5]) == (INTVAL (operands[6]) - 1)
       && INTVAL (operands[7]) == (INTVAL (operands[8]) - 1)
       && INTVAL (operands[9]) == (INTVAL (operands[10]) - 1)))))
            return -1;
          return 3621; /* avx512f_shuf_f64x2_1_mask */

        case V8DImode:
          if (pattern877 (x2, V8DImode, V16DImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 12741 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F
   && (INTVAL (operands[3]) == (INTVAL (operands[4]) - 1)
       && INTVAL (operands[5]) == (INTVAL (operands[6]) - 1)
       && INTVAL (operands[7]) == (INTVAL (operands[8]) - 1)
       && INTVAL (operands[9]) == (INTVAL (operands[10]) - 1)))))
            return -1;
          return 3623; /* avx512f_shuf_i64x2_1_mask */

        case V8SImode:
          if (pattern877 (x2, V8SImode, V16SImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 12799 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL
   && (INTVAL (operands[3]) == (INTVAL (operands[4]) - 1)
       && INTVAL (operands[3]) == (INTVAL (operands[5]) - 2)
       && INTVAL (operands[3]) == (INTVAL (operands[6]) - 3)
       && INTVAL (operands[7]) == (INTVAL (operands[8]) - 1)
       && INTVAL (operands[7]) == (INTVAL (operands[9]) - 2)
       && INTVAL (operands[7]) == (INTVAL (operands[10]) - 3)))))
            return -1;
          return 3625; /* avx512vl_shuf_i32x4_1_mask */

        default:
          return -1;
        }

    case 4:
      x7 = XVECEXP (x6, 0, 0);
      if (GET_CODE (x7) != CONST_INT)
        return -1;
      x8 = XVECEXP (x6, 0, 1);
      if (GET_CODE (x8) == CONST_INT)
        {
          res = recog_78 (x1, insn, pnum_clobbers);
          if (res >= 0)
            return res;
        }
      operands[3] = x7;
      x9 = XEXP (x4, 1);
      operands[2] = x9;
      operands[4] = x8;
      x10 = XVECEXP (x6, 0, 2);
      operands[5] = x10;
      x11 = XVECEXP (x6, 0, 3);
      operands[6] = x11;
      x24 = XEXP (x2, 1);
      operands[7] = x24;
      x25 = XEXP (x2, 2);
      operands[8] = x25;
      if (!register_operand (operands[8], QImode))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case V4SFmode:
          if (pattern775 (x2, V4SFmode, V8SFmode) != 0
              || !
#line 6585 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2434; /* sse_shufps_v4sf_mask */

        case V4DFmode:
          if (pattern776 (x2, V4DFmode, V8DFmode) != 0
              || !vector_move_operand (operands[7], V4DFmode))
            return -1;
          if (const_0_to_1_operand (operands[3], VOIDmode)
              && const_4_to_5_operand (operands[4], VOIDmode)
              && const_2_to_3_operand (operands[5], VOIDmode)
              && const_6_to_7_operand (operands[6], VOIDmode)
              && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 8580 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && TARGET_AVX512VL)))
            return 2698; /* avx_shufpd256_1_mask */
          if (!const_0_to_3_operand (operands[3], VOIDmode)
              || !const_0_to_3_operand (operands[4], VOIDmode)
              || !const_4_to_7_operand (operands[5], VOIDmode)
              || !const_4_to_7_operand (operands[6], VOIDmode)
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 12688 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL
   && (INTVAL (operands[3]) == (INTVAL (operands[4]) - 1)
       && INTVAL (operands[5]) == (INTVAL (operands[6]) - 1)))))
            return -1;
          return 3619; /* avx512dq_shuf_f64x2_1_mask */

        case V4DImode:
          if (pattern775 (x2, V4DImode, V8DImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 12688 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL
   && (INTVAL (operands[3]) == (INTVAL (operands[4]) - 1)
       && INTVAL (operands[5]) == (INTVAL (operands[6]) - 1)))))
            return -1;
          return 3617; /* avx512dq_shuf_i64x2_1_mask */

        default:
          return -1;
        }

    case 2:
      x7 = XVECEXP (x6, 0, 0);
      if (GET_CODE (x7) != CONST_INT)
        return -1;
      x8 = XVECEXP (x6, 0, 1);
      if (GET_CODE (x8) == CONST_INT)
        {
          res = recog_79 (x1, insn, pnum_clobbers);
          if (res >= 0)
            return res;
        }
      operands[3] = x7;
      if (!const_0_to_1_operand (operands[3], VOIDmode)
          || pattern535 (x2, V2DFmode, V4DFmode) != 0)
        return -1;
      operands[4] = x8;
      if (!const_2_to_3_operand (operands[4], VOIDmode))
        return -1;
      x24 = XEXP (x2, 1);
      operands[5] = x24;
      if (!vector_move_operand (operands[5], V2DFmode))
        return -1;
      x25 = XEXP (x2, 2);
      operands[6] = x25;
      if (!register_operand (operands[6], QImode)
          || !
#line 8622 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
        return -1;
      return 2699; /* sse2_shufpd_v2df_mask */

    case 64:
      return recog_80 (x1, insn, pnum_clobbers);

    case 32:
      if (pattern372 (x6) != 0)
        return -1;
      x9 = XEXP (x4, 1);
      operands[2] = x9;
      x24 = XEXP (x2, 1);
      operands[3] = x24;
      x25 = XEXP (x2, 2);
      operands[4] = x25;
      if (!register_operand (operands[4], SImode))
        return -1;
      x7 = XVECEXP (x6, 0, 0);
      switch (XWINT (x7, 0))
        {
        case 8LL:
          x8 = XVECEXP (x6, 0, 1);
          if (XWINT (x8, 0) != 40LL)
            return -1;
          x10 = XVECEXP (x6, 0, 2);
          if (XWINT (x10, 0) != 9LL)
            return -1;
          x11 = XVECEXP (x6, 0, 3);
          if (XWINT (x11, 0) != 41LL)
            return -1;
          x12 = XVECEXP (x6, 0, 4);
          if (XWINT (x12, 0) != 10LL)
            return -1;
          x13 = XVECEXP (x6, 0, 5);
          if (XWINT (x13, 0) != 42LL)
            return -1;
          x14 = XVECEXP (x6, 0, 6);
          if (XWINT (x14, 0) != 11LL)
            return -1;
          x15 = XVECEXP (x6, 0, 7);
          if (XWINT (x15, 0) != 43LL
              || pattern982 (x6) != 0)
            return -1;
          x26 = XVECEXP (x6, 0, 16);
          if (XWINT (x26, 0) != 24LL)
            return -1;
          x27 = XVECEXP (x6, 0, 17);
          if (XWINT (x27, 0) != 56LL)
            return -1;
          x28 = XVECEXP (x6, 0, 18);
          if (XWINT (x28, 0) != 25LL)
            return -1;
          x29 = XVECEXP (x6, 0, 19);
          if (XWINT (x29, 0) != 57LL)
            return -1;
          x30 = XVECEXP (x6, 0, 20);
          if (XWINT (x30, 0) != 26LL)
            return -1;
          x31 = XVECEXP (x6, 0, 21);
          if (XWINT (x31, 0) != 58LL)
            return -1;
          x32 = XVECEXP (x6, 0, 22);
          if (XWINT (x32, 0) != 27LL)
            return -1;
          x33 = XVECEXP (x6, 0, 23);
          if (XWINT (x33, 0) != 59LL
              || pattern985 (x2, V32QImode, V64QImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 12042 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && TARGET_AVX512VL)))
            return -1;
          return 3555; /* avx2_interleave_highv32qi_mask */

        case 0LL:
          x8 = XVECEXP (x6, 0, 1);
          if (XWINT (x8, 0) != 32LL)
            return -1;
          x10 = XVECEXP (x6, 0, 2);
          if (XWINT (x10, 0) != 1LL)
            return -1;
          x11 = XVECEXP (x6, 0, 3);
          if (XWINT (x11, 0) != 33LL)
            return -1;
          x12 = XVECEXP (x6, 0, 4);
          if (XWINT (x12, 0) != 2LL)
            return -1;
          x13 = XVECEXP (x6, 0, 5);
          if (XWINT (x13, 0) != 34LL)
            return -1;
          x14 = XVECEXP (x6, 0, 6);
          if (XWINT (x14, 0) != 3LL)
            return -1;
          x15 = XVECEXP (x6, 0, 7);
          if (XWINT (x15, 0) != 35LL)
            return -1;
          x26 = XVECEXP (x6, 0, 16);
          if (XWINT (x26, 0) != 16LL)
            return -1;
          x27 = XVECEXP (x6, 0, 17);
          if (XWINT (x27, 0) != 48LL)
            return -1;
          x28 = XVECEXP (x6, 0, 18);
          if (XWINT (x28, 0) != 17LL)
            return -1;
          x29 = XVECEXP (x6, 0, 19);
          if (XWINT (x29, 0) != 49LL)
            return -1;
          x30 = XVECEXP (x6, 0, 20);
          if (XWINT (x30, 0) != 18LL)
            return -1;
          x31 = XVECEXP (x6, 0, 21);
          if (XWINT (x31, 0) != 50LL)
            return -1;
          x32 = XVECEXP (x6, 0, 22);
          if (XWINT (x32, 0) != 19LL)
            return -1;
          x33 = XVECEXP (x6, 0, 23);
          if (XWINT (x33, 0) != 51LL)
            return -1;
          x16 = XVECEXP (x6, 0, 8);
          switch (XWINT (x16, 0))
            {
            case 4LL:
              x17 = XVECEXP (x6, 0, 9);
              if (XWINT (x17, 0) != 36LL)
                return -1;
              x18 = XVECEXP (x6, 0, 10);
              if (XWINT (x18, 0) != 5LL)
                return -1;
              x19 = XVECEXP (x6, 0, 11);
              if (XWINT (x19, 0) != 37LL)
                return -1;
              x20 = XVECEXP (x6, 0, 12);
              if (XWINT (x20, 0) != 6LL)
                return -1;
              x21 = XVECEXP (x6, 0, 13);
              if (XWINT (x21, 0) != 38LL)
                return -1;
              x22 = XVECEXP (x6, 0, 14);
              if (XWINT (x22, 0) != 7LL)
                return -1;
              x23 = XVECEXP (x6, 0, 15);
              if (XWINT (x23, 0) != 39LL)
                return -1;
              x34 = XVECEXP (x6, 0, 24);
              if (XWINT (x34, 0) != 20LL)
                return -1;
              x35 = XVECEXP (x6, 0, 25);
              if (XWINT (x35, 0) != 52LL)
                return -1;
              x36 = XVECEXP (x6, 0, 26);
              if (XWINT (x36, 0) != 21LL)
                return -1;
              x37 = XVECEXP (x6, 0, 27);
              if (XWINT (x37, 0) != 53LL)
                return -1;
              x38 = XVECEXP (x6, 0, 28);
              if (XWINT (x38, 0) != 22LL)
                return -1;
              x39 = XVECEXP (x6, 0, 29);
              if (XWINT (x39, 0) != 54LL)
                return -1;
              x40 = XVECEXP (x6, 0, 30);
              if (XWINT (x40, 0) != 23LL)
                return -1;
              x41 = XVECEXP (x6, 0, 31);
              if (XWINT (x41, 0) != 55LL
                  || pattern753 (x2, V32QImode, V64QImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 12138 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && TARGET_AVX512VL && TARGET_AVX512BW)))
                return -1;
              return 3561; /* avx2_interleave_lowv32qi_mask */

            case 8LL:
              x17 = XVECEXP (x6, 0, 9);
              if (XWINT (x17, 0) != 40LL)
                return -1;
              x18 = XVECEXP (x6, 0, 10);
              if (XWINT (x18, 0) != 9LL)
                return -1;
              x19 = XVECEXP (x6, 0, 11);
              if (XWINT (x19, 0) != 41LL)
                return -1;
              x20 = XVECEXP (x6, 0, 12);
              if (XWINT (x20, 0) != 10LL)
                return -1;
              x21 = XVECEXP (x6, 0, 13);
              if (XWINT (x21, 0) != 42LL)
                return -1;
              x22 = XVECEXP (x6, 0, 14);
              if (XWINT (x22, 0) != 11LL)
                return -1;
              x23 = XVECEXP (x6, 0, 15);
              if (XWINT (x23, 0) != 43LL)
                return -1;
              x34 = XVECEXP (x6, 0, 24);
              if (XWINT (x34, 0) != 24LL)
                return -1;
              x35 = XVECEXP (x6, 0, 25);
              if (XWINT (x35, 0) != 56LL)
                return -1;
              x36 = XVECEXP (x6, 0, 26);
              if (XWINT (x36, 0) != 25LL)
                return -1;
              x37 = XVECEXP (x6, 0, 27);
              if (XWINT (x37, 0) != 57LL)
                return -1;
              x38 = XVECEXP (x6, 0, 28);
              if (XWINT (x38, 0) != 26LL)
                return -1;
              x39 = XVECEXP (x6, 0, 29);
              if (XWINT (x39, 0) != 58LL)
                return -1;
              x40 = XVECEXP (x6, 0, 30);
              if (XWINT (x40, 0) != 27LL)
                return -1;
              x41 = XVECEXP (x6, 0, 31);
              if (XWINT (x41, 0) != 59LL
                  || pattern753 (x2, V32HImode, V64HImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 12258 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
                return -1;
              return 3571; /* avx512bw_interleave_lowv32hi_mask */

            default:
              return -1;
            }

        case 4LL:
          x8 = XVECEXP (x6, 0, 1);
          if (XWINT (x8, 0) != 36LL)
            return -1;
          x10 = XVECEXP (x6, 0, 2);
          if (XWINT (x10, 0) != 5LL)
            return -1;
          x11 = XVECEXP (x6, 0, 3);
          if (XWINT (x11, 0) != 37LL)
            return -1;
          x12 = XVECEXP (x6, 0, 4);
          if (XWINT (x12, 0) != 6LL)
            return -1;
          x13 = XVECEXP (x6, 0, 5);
          if (XWINT (x13, 0) != 38LL)
            return -1;
          x14 = XVECEXP (x6, 0, 6);
          if (XWINT (x14, 0) != 7LL)
            return -1;
          x15 = XVECEXP (x6, 0, 7);
          if (XWINT (x15, 0) != 39LL
              || pattern982 (x6) != 0)
            return -1;
          x26 = XVECEXP (x6, 0, 16);
          if (XWINT (x26, 0) != 20LL)
            return -1;
          x27 = XVECEXP (x6, 0, 17);
          if (XWINT (x27, 0) != 52LL)
            return -1;
          x28 = XVECEXP (x6, 0, 18);
          if (XWINT (x28, 0) != 21LL)
            return -1;
          x29 = XVECEXP (x6, 0, 19);
          if (XWINT (x29, 0) != 53LL)
            return -1;
          x30 = XVECEXP (x6, 0, 20);
          if (XWINT (x30, 0) != 22LL)
            return -1;
          x31 = XVECEXP (x6, 0, 21);
          if (XWINT (x31, 0) != 54LL)
            return -1;
          x32 = XVECEXP (x6, 0, 22);
          if (XWINT (x32, 0) != 23LL)
            return -1;
          x33 = XVECEXP (x6, 0, 23);
          if (XWINT (x33, 0) != 55LL
              || pattern985 (x2, V32HImode, V64HImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 12190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 3565; /* avx512bw_interleave_highv32hi_mask */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_92 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19, x20, x21, x22, x23, x24, x25;
  rtx x26, x27, x28, x29, x30, x31, x32, x33;
  rtx x34, x35, x36, x37, x38, x39, x40, x41;
  rtx x42, x43, x44, x45;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) != CONST_VECTOR
      || XVECLEN (x6, 0) != 32
      || GET_MODE (x6) != V32HImode)
    return -1;
  x7 = XVECEXP (x6, 0, 0);
  if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x8 = XVECEXP (x6, 0, 1);
  if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x9 = XVECEXP (x6, 0, 2);
  if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x10 = XVECEXP (x6, 0, 3);
  if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x11 = XVECEXP (x6, 0, 4);
  if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x12 = XVECEXP (x6, 0, 5);
  if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x13 = XVECEXP (x6, 0, 6);
  if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x14 = XVECEXP (x6, 0, 7);
  if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x15 = XVECEXP (x6, 0, 8);
  if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x16 = XVECEXP (x6, 0, 9);
  if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x17 = XVECEXP (x6, 0, 10);
  if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x18 = XVECEXP (x6, 0, 11);
  if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x19 = XVECEXP (x6, 0, 12);
  if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x20 = XVECEXP (x6, 0, 13);
  if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x21 = XVECEXP (x6, 0, 14);
  if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x22 = XVECEXP (x6, 0, 15);
  if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x23 = XVECEXP (x6, 0, 16);
  if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x24 = XVECEXP (x6, 0, 17);
  if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x25 = XVECEXP (x6, 0, 18);
  if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x26 = XVECEXP (x6, 0, 19);
  if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x27 = XVECEXP (x6, 0, 20);
  if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x28 = XVECEXP (x6, 0, 21);
  if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x29 = XVECEXP (x6, 0, 22);
  if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x30 = XVECEXP (x6, 0, 23);
  if (x30 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x31 = XVECEXP (x6, 0, 24);
  if (x31 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x32 = XVECEXP (x6, 0, 25);
  if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x33 = XVECEXP (x6, 0, 26);
  if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x34 = XVECEXP (x6, 0, 27);
  if (x34 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x35 = XVECEXP (x6, 0, 28);
  if (x35 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x36 = XVECEXP (x6, 0, 29);
  if (x36 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x37 = XVECEXP (x6, 0, 30);
  if (x37 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x38 = XVECEXP (x6, 0, 31);
  if (x38 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
      || !register_operand (operands[0], V32HImode)
      || GET_MODE (x2) != V32HImode
      || GET_MODE (x3) != V32HImode
      || GET_MODE (x4) != V32SImode
      || GET_MODE (x5) != V32SImode)
    return -1;
  x39 = XEXP (x5, 0);
  if (GET_MODE (x39) != V32SImode)
    return -1;
  x40 = XEXP (x39, 0);
  if (GET_MODE (x40) != V32SImode)
    return -1;
  x41 = XEXP (x40, 0);
  if (GET_MODE (x41) != V32SImode)
    return -1;
  x42 = XEXP (x40, 1);
  if (GET_MODE (x42) != V32SImode)
    return -1;
  x43 = XEXP (x42, 0);
  operands[2] = x43;
  if (!nonimmediate_operand (operands[2], V32HImode))
    return -1;
  x44 = XEXP (x2, 1);
  operands[3] = x44;
  if (!vector_move_operand (operands[3], V32HImode))
    return -1;
  x45 = XEXP (x2, 2);
  operands[4] = x45;
  if (!register_operand (operands[4], SImode)
      || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 14552 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
    return -1;
  return 3734; /* avx512bw_umulhrswv32hi3_mask */
}

static int
recog_93 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case FLOAT:
      x5 = XEXP (x2, 2);
      if (GET_CODE (x5) != CONST_INT)
        return -1;
      x6 = XEXP (x4, 0);
      operands[2] = x6;
      x7 = XEXP (x2, 1);
      operands[1] = x7;
      switch (XWINT (x5, 0))
        {
        case 3LL:
          if (pattern415 (x2, V2SFmode, V4SFmode) != 0
              || !nonimmediate_operand (operands[2], V2SImode)
              || !register_operand (operands[1], V4SFmode)
              || !
#line 4212 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE))
            return -1;
          return 2091; /* sse_cvtpi2ps */

        case 1LL:
          switch (GET_MODE (operands[0]))
            {
            case V4SFmode:
              switch (pattern484 (x2, V4SFmode, SFmode))
                {
                case 0:
                  if (!
#line 4248 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE))
                    return -1;
                  return 2094; /* sse_cvtsi2ss */

                case 1:
                  if (!
#line 4270 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && TARGET_64BIT))
                    return -1;
                  return 2096; /* sse_cvtsi2ssq */

                default:
                  return -1;
                }

            case V2DFmode:
              switch (pattern484 (x2, V2DFmode, DFmode))
                {
                case 0:
                  if (!
#line 4644 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))
                    return -1;
                  return 2186; /* sse2_cvtsi2sd */

                case 1:
                  if (!
#line 4666 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && TARGET_64BIT))
                    return -1;
                  return 2187; /* sse2_cvtsi2sdq */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    case UNSIGNED_FLOAT:
      x5 = XEXP (x2, 2);
      if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
        return -1;
      x6 = XEXP (x4, 0);
      operands[2] = x6;
      x7 = XEXP (x2, 1);
      operands[1] = x7;
      switch (GET_MODE (operands[0]))
        {
        case V4SFmode:
          switch (pattern416 (x2, V4SFmode, SFmode))
            {
            case 0:
              if (!
#line 4386 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1))
                return -1;
              return 2108; /* cvtusi2ss32 */

            case 1:
              if (!
#line 4400 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && TARGET_64BIT))
                return -1;
              return 2111; /* cvtusi2ss64 */

            default:
              return -1;
            }

        case V2DFmode:
          switch (pattern416 (x2, V2DFmode, DFmode))
            {
            case 0:
              if (!(
#line 4386 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
                return -1;
              return 2110; /* cvtusi2sd32 */

            case 1:
              if (!(
#line 4400 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && TARGET_64BIT) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
                return -1;
              return 2113; /* cvtusi2sd64 */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case FLOAT_TRUNCATE:
      if (pattern162 (x2, V4SFmode) != 0)
        return -1;
      x6 = XEXP (x4, 0);
      operands[2] = x6;
      x7 = XEXP (x2, 1);
      operands[1] = x7;
      if (!register_operand (operands[1], V4SFmode))
        return -1;
      switch (GET_MODE (x4))
        {
        case V2SFmode:
          if (!nonimmediate_operand (operands[2], V2DFmode)
              || !
#line 5259 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))
            return -1;
          return 2358; /* sse2_cvtsd2ss */

        case SFmode:
          if (!nonimmediate_operand (operands[2], DFmode)
              || !
#line 5280 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))
            return -1;
          return 2360; /* *sse2_vd_cvtsd2ss */

        default:
          return -1;
        }

    case FLOAT_EXTEND:
      if (GET_MODE (x4) != DFmode
          || pattern162 (x2, V2DFmode) != 0)
        return -1;
      x6 = XEXP (x4, 0);
      operands[2] = x6;
      if (!nonimmediate_operand (operands[2], SFmode))
        return -1;
      x7 = XEXP (x2, 1);
      operands[1] = x7;
      if (!register_operand (operands[1], V2DFmode)
          || !
#line 5324 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))
        return -1;
      return 2363; /* *sse2_vd_cvtss2sd */

    case CONST_INT:
    case CONST_WIDE_INT:
    case CONST_FIXED:
    case CONST_DOUBLE:
    case CONST_VECTOR:
    case CONST:
    case REG:
    case SUBREG:
    case MEM:
    case LABEL_REF:
    case SYMBOL_REF:
    case HIGH:
      x5 = XEXP (x2, 2);
      switch (GET_CODE (x5))
        {
        case CONST_INT:
          operands[2] = x4;
          x7 = XEXP (x2, 1);
          operands[1] = x7;
          if (XWINT (x5, 0) == 1LL)
            {
              switch (GET_MODE (operands[0]))
                {
                case V4SImode:
                  if (pattern485 (x2, V4SImode, SImode) == 0
                      && 
#line 6909 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE))
                    return 2450; /* vec_setv4si_0 */
                  break;

                case V4SFmode:
                  if (pattern485 (x2, V4SFmode, SFmode) == 0
                      && 
#line 6909 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE))
                    return 2451; /* vec_setv4sf_0 */
                  break;

                default:
                  break;
                }
            }
          operands[3] = x5;
          if (const_int_operand (operands[3], SImode))
            {
              switch (GET_MODE (operands[0]))
                {
                case V4SFmode:
                  if (pattern532 (x2, V4SFmode, SFmode) == 0
                      && 
#line 6974 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1
   && ((unsigned) exact_log2 (INTVAL (operands[3]))
       < GET_MODE_NUNITS (V4SFmode))))
                    return 2452; /* *vec_setv4sf_sse4_1 */
                  break;

                case V16QImode:
                  if (pattern532 (x2, V16QImode, QImode) == 0
                      && (
#line 12471 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ((unsigned) exact_log2 (INTVAL (operands[3]))
       < GET_MODE_NUNITS (V16QImode))) && 
#line 12451 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1)))
                    return 3588; /* sse4_1_pinsrb */
                  break;

                case V8HImode:
                  if (pattern532 (x2, V8HImode, HImode) == 0
                      && 
#line 12471 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ((unsigned) exact_log2 (INTVAL (operands[3]))
       < GET_MODE_NUNITS (V8HImode))))
                    return 3589; /* sse2_pinsrw */
                  break;

                case V4SImode:
                  if (pattern532 (x2, V4SImode, SImode) == 0
                      && (
#line 12471 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ((unsigned) exact_log2 (INTVAL (operands[3]))
       < GET_MODE_NUNITS (V4SImode))) && 
#line 12452 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1)))
                    return 3590; /* sse4_1_pinsrd */
                  break;

                case V2DImode:
                  if (pattern532 (x2, V2DImode, DImode) == 0
                      && (
#line 12471 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ((unsigned) exact_log2 (INTVAL (operands[3]))
       < GET_MODE_NUNITS (V2DImode))) && 
#line 12453 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1 && TARGET_64BIT)))
                    return 3591; /* sse4_1_pinsrq */
                  break;

                default:
                  break;
                }
            }
          if (!reg_or_0_operand (operands[1], V4SImode)
              || XWINT (x5, 0) != 1LL
              || !register_operand (operands[0], V4SImode)
              || GET_MODE (x2) != V4SImode
              || GET_MODE (x3) != V4SImode
              || !nonimmediate_operand (operands[2], SImode)
              || !
#line 13442 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE))
            return -1;
          return 3650; /* sse2_loadld */

        case REG:
        case SUBREG:
          operands[3] = x5;
          operands[1] = x4;
          x7 = XEXP (x2, 1);
          operands[2] = x7;
          switch (GET_MODE (operands[0]))
            {
            case V2DFmode:
              if (pattern95 (x2, V2DFmode, DFmode, QImode) != 0)
                return -1;
              if ((
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 9050 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && TARGET_AVX512VL)))
                return 2722; /* vec_dupv2df_mask */
              if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 17590 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 187 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4224; /* avx512vl_vec_dup_gprv2df_mask */

            case V16SFmode:
              if (pattern85 (x2, V16SFmode, HImode) != 0)
                return -1;
              switch (GET_MODE (operands[1]))
                {
                case V4SFmode:
                  if (!nonimmediate_operand (operands[1], V4SFmode)
                      || !
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                    return -1;
                  return 4182; /* avx512f_broadcastv16sf_mask */

                case SFmode:
                  if (!nonimmediate_operand (operands[1], SFmode)
                      || !
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                    return -1;
                  return 4214; /* avx512f_vec_dup_gprv16sf_mask */

                case V8SFmode:
                  if (!nonimmediate_operand (operands[1], V8SFmode)
                      || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 17800 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ)))
                    return -1;
                  return 4263; /* avx512dq_broadcastv16sf_mask_1 */

                default:
                  return -1;
                }

            case V16SImode:
              if (pattern85 (x2, V16SImode, HImode) != 0)
                return -1;
              switch (GET_MODE (operands[1]))
                {
                case V4SImode:
                  if (!nonimmediate_operand (operands[1], V4SImode)
                      || !
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                    return -1;
                  return 4184; /* avx512f_broadcastv16si_mask */

                case SImode:
                  if (!nonimmediate_operand (operands[1], SImode)
                      || !
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                    return -1;
                  return 4202; /* avx512f_vec_dup_gprv16si_mask */

                case V8SImode:
                  if (!nonimmediate_operand (operands[1], V8SImode)
                      || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 17800 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ)))
                    return -1;
                  return 4265; /* avx512dq_broadcastv16si_mask_1 */

                default:
                  return -1;
                }

            case V8DFmode:
              if (pattern85 (x2, V8DFmode, QImode) != 0)
                return -1;
              switch (GET_MODE (operands[1]))
                {
                case V4DFmode:
                  if (!nonimmediate_operand (operands[1], V4DFmode)
                      || !
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                    return -1;
                  return 4186; /* avx512f_broadcastv8df_mask */

                case DFmode:
                  if (!nonimmediate_operand (operands[1], DFmode)
                      || !
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                    return -1;
                  return 4220; /* avx512f_vec_dup_gprv8df_mask */

                case V2DFmode:
                  if (!nonimmediate_operand (operands[1], V2DFmode)
                      || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 17817 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ)))
                    return -1;
                  return 4269; /* avx512dq_broadcastv8df_mask_1 */

                default:
                  return -1;
                }

            case V8DImode:
              if (pattern85 (x2, V8DImode, QImode) != 0)
                return -1;
              switch (GET_MODE (operands[1]))
                {
                case V4DImode:
                  if (!nonimmediate_operand (operands[1], V4DImode)
                      || !
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                    return -1;
                  return 4188; /* avx512f_broadcastv8di_mask */

                case DImode:
                  if (!nonimmediate_operand (operands[1], DImode)
                      || !
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                    return -1;
                  return 4208; /* avx512f_vec_dup_gprv8di_mask */

                case V2DImode:
                  if (!nonimmediate_operand (operands[1], V2DImode)
                      || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 17817 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ)))
                    return -1;
                  return 4267; /* avx512dq_broadcastv8di_mask_1 */

                default:
                  return -1;
                }

            case V64QImode:
              if (pattern95 (x2, V64QImode, QImode, DImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 17578 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
                return -1;
              return 4190; /* avx512bw_vec_dup_gprv64qi_mask */

            case V16QImode:
              if (pattern95 (x2, V16QImode, QImode, HImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 17578 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4192; /* avx512vl_vec_dup_gprv16qi_mask */

            case V32QImode:
              if (pattern95 (x2, V32QImode, QImode, SImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 17578 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4194; /* avx512vl_vec_dup_gprv32qi_mask */

            case V32HImode:
              if (pattern95 (x2, V32HImode, HImode, SImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 17578 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
                return -1;
              return 4196; /* avx512bw_vec_dup_gprv32hi_mask */

            case V16HImode:
              if (pattern374 (x2, HImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 17578 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4198; /* avx512vl_vec_dup_gprv16hi_mask */

            case V8HImode:
              if (pattern95 (x2, V8HImode, HImode, QImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 17578 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4200; /* avx512vl_vec_dup_gprv8hi_mask */

            case V8SImode:
              if (pattern85 (x2, V8SImode, QImode) != 0)
                return -1;
              switch (GET_MODE (operands[1]))
                {
                case SImode:
                  if (!nonimmediate_operand (operands[1], SImode)
                      || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 17590 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 184 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 4204; /* avx512vl_vec_dup_gprv8si_mask */

                case V4SImode:
                  if (!nonimmediate_operand (operands[1], V4SImode)
                      || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 17787 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                    return -1;
                  return 4259; /* avx512vl_broadcastv8si_mask_1 */

                default:
                  return -1;
                }

            case V4SImode:
              if (pattern95 (x2, V4SImode, SImode, QImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 17590 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 184 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4206; /* avx512vl_vec_dup_gprv4si_mask */

            case V4DImode:
              if (pattern85 (x2, V4DImode, QImode) != 0)
                return -1;
              switch (GET_MODE (operands[1]))
                {
                case DImode:
                  if (!nonimmediate_operand (operands[1], DImode)
                      || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 17590 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 185 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 4210; /* avx512vl_vec_dup_gprv4di_mask */

                case V2DImode:
                  if (!nonimmediate_operand (operands[1], V2DImode)
                      || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 17817 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 17811 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 4271; /* avx512dq_broadcastv4di_mask_1 */

                default:
                  return -1;
                }

            case V2DImode:
              if (pattern95 (x2, V2DImode, DImode, QImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 17590 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 185 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4212; /* avx512vl_vec_dup_gprv2di_mask */

            case V8SFmode:
              if (pattern85 (x2, V8SFmode, QImode) != 0)
                return -1;
              switch (GET_MODE (operands[1]))
                {
                case SFmode:
                  if (!nonimmediate_operand (operands[1], SFmode)
                      || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 17590 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 4216; /* avx512vl_vec_dup_gprv8sf_mask */

                case V4SFmode:
                  if (!nonimmediate_operand (operands[1], V4SFmode)
                      || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 17787 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                    return -1;
                  return 4261; /* avx512vl_broadcastv8sf_mask_1 */

                default:
                  return -1;
                }

            case V4SFmode:
              if (pattern95 (x2, V4SFmode, SFmode, QImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 17590 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4218; /* avx512vl_vec_dup_gprv4sf_mask */

            case V4DFmode:
              if (pattern85 (x2, V4DFmode, QImode) != 0)
                return -1;
              switch (GET_MODE (operands[1]))
                {
                case DFmode:
                  if (!nonimmediate_operand (operands[1], DFmode)
                      || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 17590 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 187 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 4222; /* avx512vl_vec_dup_gprv4df_mask */

                case V2DFmode:
                  if (!nonimmediate_operand (operands[1], V2DFmode)
                      || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 17817 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 17811 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 4273; /* avx512dq_broadcastv4df_mask_1 */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    case VEC_SELECT:
      x8 = XEXP (x4, 1);
      if (GET_CODE (x8) != PARALLEL)
        return -1;
      x6 = XEXP (x4, 0);
      operands[1] = x6;
      x7 = XEXP (x2, 1);
      operands[2] = x7;
      x5 = XEXP (x2, 2);
      operands[3] = x5;
      switch (XVECLEN (x8, 0))
        {
        case 1:
          x9 = XVECEXP (x8, 0, 0);
          if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case V16SImode:
              if (pattern568 (x2, V16SImode, HImode, V4SImode, SImode) != 0
                  || !
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                return -1;
              return 4146; /* avx512f_vec_dupv16si_mask */

            case V8SImode:
              if (pattern568 (x2, V8SImode, QImode, V4SImode, SImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 17522 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 184 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4148; /* avx512vl_vec_dupv8si_mask */

            case V4SImode:
              if (pattern569 (x2, V4SImode, SImode, QImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 17522 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 184 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4150; /* avx512vl_vec_dupv4si_mask */

            case V8DImode:
              if (pattern568 (x2, V8DImode, QImode, V2DImode, DImode) != 0
                  || !
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                return -1;
              return 4152; /* avx512f_vec_dupv8di_mask */

            case V4DImode:
              if (pattern568 (x2, V4DImode, QImode, V2DImode, DImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 17522 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 185 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4154; /* avx512vl_vec_dupv4di_mask */

            case V2DImode:
              if (pattern569 (x2, V2DImode, DImode, QImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 17522 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 185 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4156; /* avx512vl_vec_dupv2di_mask */

            case V16SFmode:
              if (pattern568 (x2, V16SFmode, HImode, V4SFmode, SFmode) != 0
                  || !
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                return -1;
              return 4158; /* avx512f_vec_dupv16sf_mask */

            case V8SFmode:
              if (pattern568 (x2, V8SFmode, QImode, V4SFmode, SFmode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 17522 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4160; /* avx512vl_vec_dupv8sf_mask */

            case V4SFmode:
              if (pattern569 (x2, V4SFmode, SFmode, QImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 17522 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4162; /* avx512vl_vec_dupv4sf_mask */

            case V8DFmode:
              if (pattern568 (x2, V8DFmode, QImode, V2DFmode, DFmode) != 0
                  || !
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                return -1;
              return 4164; /* avx512f_vec_dupv8df_mask */

            case V4DFmode:
              if (pattern568 (x2, V4DFmode, QImode, V2DFmode, DFmode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 17522 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 187 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4166; /* avx512vl_vec_dupv4df_mask */

            case V2DFmode:
              if (pattern569 (x2, V2DFmode, DFmode, QImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 17522 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 187 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4168; /* avx512vl_vec_dupv2df_mask */

            case V64QImode:
              if (pattern568 (x2, V64QImode, DImode, V16QImode, QImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 17544 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
                return -1;
              return 4170; /* avx512bw_vec_dupv64qi_mask */

            case V16QImode:
              if (pattern569 (x2, V16QImode, QImode, HImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 17544 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4172; /* avx512vl_vec_dupv16qi_mask */

            case V32QImode:
              if (pattern568 (x2, V32QImode, SImode, V16QImode, QImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 17544 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4174; /* avx512vl_vec_dupv32qi_mask */

            case V32HImode:
              if (pattern568 (x2, V32HImode, SImode, V8HImode, HImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 17544 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
                return -1;
              return 4176; /* avx512bw_vec_dupv32hi_mask */

            case V16HImode:
              if (pattern415 (x2, HImode, V16HImode) != 0
                  || !nonimmediate_operand (operands[1], V8HImode)
                  || !vector_move_operand (operands[2], V16HImode)
                  || !register_operand (operands[3], HImode)
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 17544 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4178; /* avx512vl_vec_dupv16hi_mask */

            case V8HImode:
              if (pattern569 (x2, V8HImode, HImode, QImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 17544 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4180; /* avx512vl_vec_dupv8hi_mask */

            default:
              return -1;
            }

        case 2:
          x9 = XVECEXP (x8, 0, 0);
          if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x10 = XVECEXP (x8, 0, 1);
          if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case V16SImode:
              if (pattern568 (x2, V16SImode, HImode, V4SImode, V2SImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 17776 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ)))
                return -1;
              return 4249; /* avx512dq_broadcastv16si_mask */

            case V8SImode:
              if (pattern568 (x2, V8SImode, QImode, V4SImode, V2SImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 17776 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 17760 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4251; /* avx512dq_broadcastv8si_mask */

            case V4SImode:
              if (pattern569 (x2, V4SImode, V2SImode, QImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 17776 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 17760 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4253; /* avx512dq_broadcastv4si_mask */

            case V16SFmode:
              if (pattern568 (x2, V16SFmode, HImode, V4SFmode, V2SFmode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 17776 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ)))
                return -1;
              return 4255; /* avx512dq_broadcastv16sf_mask */

            case V8SFmode:
              if (pattern568 (x2, V8SFmode, QImode, V4SFmode, V2SFmode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 17776 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 17761 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4257; /* avx512dq_broadcastv8sf_mask */

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_94 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  switch (XVECLEN (x3, 0))
    {
    case 1:
      x4 = XEXP (x2, 1);
      operands[2] = x4;
      switch (XINT (x3, 1))
        {
        case 45:
          if (pattern300 (x2) != 0
              || !
#line 1687 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE))
            return -1;
          return 1455; /* sse_vmrcpv4sf2 */

        case 156:
          switch (pattern303 (x2))
            {
            case 0:
              if (!
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                return -1;
              return 1457; /* rcp14v16sf_mask */

            case 1:
              if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1703 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 1459; /* rcp14v8sf_mask */

            case 2:
              if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1703 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 1461; /* rcp14v4sf_mask */

            case 3:
              if (!
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                return -1;
              return 1463; /* rcp14v8df_mask */

            case 4:
              if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1703 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 1465; /* rcp14v4df_mask */

            case 5:
              if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1703 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 1467; /* rcp14v2df_mask */

            case 6:
              if (!
#line 1717 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return -1;
              return 1468; /* srcp14v4sf */

            case 7:
              if (!(
#line 1717 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
                return -1;
              return 1469; /* srcp14v2df */

            default:
              return -1;
            }

        case 157:
          switch (pattern303 (x2))
            {
            case 0:
              if (!
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                return -1;
              return 1493; /* rsqrt14v16sf_mask */

            case 1:
              if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 1495; /* rsqrt14v8sf_mask */

            case 2:
              if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 1497; /* rsqrt14v4sf_mask */

            case 3:
              if (!
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                return -1;
              return 1499; /* rsqrt14v8df_mask */

            case 4:
              if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 1501; /* rsqrt14v4df_mask */

            case 5:
              if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 1503; /* rsqrt14v2df_mask */

            case 6:
              if (!
#line 1826 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return -1;
              return 1504; /* rsqrt14v4sf */

            case 7:
              if (!(
#line 1826 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
                return -1;
              return 1505; /* rsqrt14v2df */

            default:
              return -1;
            }

        case 46:
          if (pattern300 (x2) != 0
              || !
#line 1839 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE))
            return -1;
          return 1506; /* sse_vmrsqrtv4sf2 */

        case 42:
          switch (pattern304 (x2))
            {
            case 0:
              switch (GET_MODE (operands[0]))
                {
                case V8SImode:
                  switch (pattern521 (x2, V8SImode))
                    {
                    case 0:
                      if (!vector_operand (operands[1], V8SFmode)
                          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 4460 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (32 == 64 || TARGET_AVX512VL)) && 
#line 335 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
                        return -1;
                      return 2136; /* avx_fix_notruncv8sfv8si_mask */

                    case 1:
                      if (!vector_operand (operands[1], V8DFmode)
                          || !
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                        return -1;
                      return 2273; /* avx512f_cvtpd2dq512_mask */

                    default:
                      return -1;
                    }

                case V4SImode:
                  switch (pattern522 (x2, V4SImode))
                    {
                    case 0:
                      if (!vector_operand (operands[1], V4SFmode)
                          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 4460 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (16 == 64 || TARGET_AVX512VL))))
                        return -1;
                      return 2138; /* sse2_fix_notruncv4sfv4si_mask */

                    case 1:
                      if (!nonimmediate_operand (operands[1], V4DFmode)
                          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 5043 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && TARGET_AVX512VL)))
                        return -1;
                      return 2276; /* avx_cvtpd2dq256_mask */

                    default:
                      return -1;
                    }

                case V16SImode:
                  if (pattern480 (x2, V16SImode, HImode, V16SFmode) != 0
                      || !
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                    return -1;
                  return 2141; /* avx512f_fix_notruncv16sfv16si_mask */

                case V8DImode:
                  switch (pattern521 (x2, V8DImode))
                    {
                    case 0:
                      if (!nonimmediate_operand (operands[1], V8SFmode)
                          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 4497 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1)))
                        return -1;
                      return 2157; /* avx512dq_cvtps2qqv8di_mask */

                    case 1:
                      if (!vector_operand (operands[1], V8DFmode)
                          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 5175 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1)))
                        return -1;
                      return 2322; /* fix_notruncv8dfv8di2_mask */

                    default:
                      return -1;
                    }

                case V4DImode:
                  switch (pattern522 (x2, V4DImode))
                    {
                    case 0:
                      if (!nonimmediate_operand (operands[1], V4SFmode)
                          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 4497 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1) && 
#line 320 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                        return -1;
                      return 2160; /* avx512dq_cvtps2qqv4di_mask */

                    case 1:
                      if (!vector_operand (operands[1], V4DFmode)
                          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 5175 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1) && 
#line 279 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                        return -1;
                      return 2325; /* fix_notruncv4dfv4di2_mask */

                    default:
                      return -1;
                    }

                case V2DImode:
                  if (pattern480 (x2, V2DImode, QImode, V2DFmode) != 0
                      || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 5175 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1) && 
#line 279 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 2327; /* fix_notruncv2dfv2di2_mask */

                default:
                  return -1;
                }

            case 1:
              if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 4510 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && TARGET_AVX512VL)))
                return -1;
              return 2162; /* avx512dq_cvtps2qqv2di_mask */

            default:
              return -1;
            }

        case 151:
          switch (pattern304 (x2))
            {
            case 0:
              switch (GET_MODE (operands[0]))
                {
                case V16SImode:
                  if (pattern479 (x2, V16SImode, HImode, V16SFmode) != 0
                      || !
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                    return -1;
                  return 2145; /* avx512f_ufix_notruncv16sfv16si_mask */

                case V8SImode:
                  switch (pattern523 (x2, V8SImode))
                    {
                    case 0:
                      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 4487 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 344 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                        return -1;
                      return 2149; /* avx512vl_ufix_notruncv8sfv8si_mask */

                    case 1:
                      if (!
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                        return -1;
                      return 2282; /* ufix_notruncv8dfv8si2_mask */

                    default:
                      return -1;
                    }

                case V4SImode:
                  switch (pattern524 (x2, V4SImode))
                    {
                    case 0:
                      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 4487 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 344 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                        return -1;
                      return 2153; /* avx512vl_ufix_notruncv4sfv4si_mask */

                    case 1:
                      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 5102 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 256 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                        return -1;
                      return 2286; /* ufix_notruncv4dfv4si2_mask */

                    default:
                      return -1;
                    }

                case V8DImode:
                  switch (pattern523 (x2, V8DImode))
                    {
                    case 0:
                      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 4520 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1)))
                        return -1;
                      return 2165; /* avx512dq_cvtps2uqqv8di_mask */

                    case 1:
                      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 5186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1)))
                        return -1;
                      return 2330; /* ufix_notruncv8dfv8di2_mask */

                    default:
                      return -1;
                    }

                case V4DImode:
                  switch (pattern524 (x2, V4DImode))
                    {
                    case 0:
                      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 4520 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1) && 
#line 320 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                        return -1;
                      return 2168; /* avx512dq_cvtps2uqqv4di_mask */

                    case 1:
                      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 5186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1) && 
#line 279 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                        return -1;
                      return 2333; /* ufix_notruncv4dfv4di2_mask */

                    default:
                      return -1;
                    }

                case V2DImode:
                  if (pattern479 (x2, V2DImode, QImode, V2DFmode) != 0
                      || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 5186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1) && 
#line 279 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 2335; /* ufix_notruncv2dfv2di2_mask */

                default:
                  return -1;
                }

            case 1:
              if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 4533 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && TARGET_AVX512VL)))
                return -1;
              return 2170; /* avx512dq_cvtps2uqqv2di_mask */

            default:
              return -1;
            }

        case 161:
          x5 = XVECEXP (x3, 0, 0);
          operands[1] = x5;
          x6 = XEXP (x2, 2);
          operands[3] = x6;
          switch (GET_MODE (operands[0]))
            {
            case V16SFmode:
              if (pattern305 (x2, V16SFmode, HImode) != 0
                  || !
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                return -1;
              return 2579; /* avx512f_getexpv16sf_mask */

            case V8SFmode:
              if (pattern305 (x2, V8SFmode, QImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8257 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 2583; /* avx512vl_getexpv8sf_mask */

            case V4SFmode:
              if (pattern305 (x2, V4SFmode, QImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8257 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 2587; /* avx512vl_getexpv4sf_mask */

            case V8DFmode:
              if (pattern305 (x2, V8DFmode, QImode) != 0
                  || !
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                return -1;
              return 2591; /* avx512f_getexpv8df_mask */

            case V4DFmode:
              if (pattern305 (x2, V4DFmode, QImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8257 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 2595; /* avx512vl_getexpv4df_mask */

            case V2DFmode:
              if (pattern305 (x2, V2DFmode, QImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8257 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 2599; /* avx512vl_getexpv2df_mask */

            default:
              return -1;
            }

        case 176:
          x5 = XVECEXP (x3, 0, 0);
          operands[1] = x5;
          switch (pattern306 (x2))
            {
            case 0:
              if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 16170 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512ER)))
                return -1;
              return 3953; /* avx512er_exp2v16sf_mask */

            case 1:
              if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 16170 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512ER)))
                return -1;
              return 3957; /* avx512er_exp2v8df_mask */

            default:
              return -1;
            }

        case 177:
          switch (pattern308 (x2))
            {
            case 0:
              if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 16181 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512ER)))
                return -1;
              return 3961; /* avx512er_rcp28v16sf_mask */

            case 1:
              if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 16181 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512ER)))
                return -1;
              return 3965; /* avx512er_rcp28v8df_mask */

            case 2:
              if (!
#line 16195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512ER))
                return -1;
              return 3967; /* avx512er_vmrcp28v4sf */

            case 3:
              if (!(
#line 16195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512ER) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
                return -1;
              return 3969; /* avx512er_vmrcp28v2df */

            default:
              return -1;
            }

        case 178:
          switch (pattern308 (x2))
            {
            case 0:
              if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 16207 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512ER)))
                return -1;
              return 3973; /* avx512er_rsqrt28v16sf_mask */

            case 1:
              if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 16207 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512ER)))
                return -1;
              return 3977; /* avx512er_rsqrt28v8df_mask */

            case 2:
              if (!
#line 16221 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512ER))
                return -1;
              return 3979; /* avx512er_vmrsqrt28v4sf */

            case 3:
              if (!(
#line 16221 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512ER) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
                return -1;
              return 3981; /* avx512er_vmrsqrt28v2df */

            default:
              return -1;
            }

        case 128:
          x6 = XEXP (x2, 2);
          if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
            return -1;
          x5 = XVECEXP (x3, 0, 0);
          operands[1] = x5;
          switch (GET_MODE (operands[0]))
            {
            case V4SFmode:
              if (pattern478 (x2, V4SFmode) != 0
                  || !
#line 17040 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
                return -1;
              return 4056; /* *xop_vmfrczv4sf2 */

            case V2DFmode:
              if (pattern478 (x2, V2DFmode) != 0
                  || !(
#line 17040 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
                return -1;
              return 4057; /* *xop_vmfrczv2df2 */

            default:
              return -1;
            }

        case 142:
          x5 = XVECEXP (x3, 0, 0);
          operands[1] = x5;
          x6 = XEXP (x2, 2);
          operands[3] = x6;
          switch (GET_MODE (operands[0]))
            {
            case V4SFmode:
              if (!register_operand (operands[0], V4SFmode)
                  || GET_MODE (x2) != V4SFmode
                  || GET_MODE (x3) != V4SFmode
                  || !memory_operand (operands[1], V4HImode)
                  || !vector_move_operand (operands[2], V4SFmode)
                  || !register_operand (operands[3], QImode)
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 18864 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_F16C || TARGET_AVX512VL)))
                return -1;
              return 4535; /* *vcvtph2ps_load_mask */

            case V8SFmode:
              if (pattern479 (x2, V8SFmode, QImode, V8HImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 18874 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_F16C || TARGET_AVX512VL)))
                return -1;
              return 4537; /* vcvtph2ps256_mask */

            case V16SFmode:
              if (pattern480 (x2, V16SFmode, HImode, V16HImode) != 0
                  || !
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                return -1;
              return 4540; /* avx512f_vcvtph2ps512_mask */

            default:
              return -1;
            }

        case 164:
          x5 = XVECEXP (x3, 0, 0);
          operands[1] = x5;
          x6 = XEXP (x2, 2);
          operands[3] = x6;
          switch (GET_MODE (operands[0]))
            {
            case V16SImode:
              if (pattern301 (x2, V16SImode, HImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 19530 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512CD)))
                return -1;
              return 4882; /* conflictv16si_mask */

            case V8SImode:
              if (pattern301 (x2, V8SImode, QImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 19530 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512CD) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4884; /* conflictv8si_mask */

            case V4SImode:
              if (pattern301 (x2, V4SImode, QImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 19530 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512CD) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4886; /* conflictv4si_mask */

            case V8DImode:
              if (pattern301 (x2, V8DImode, QImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 19530 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512CD)))
                return -1;
              return 4888; /* conflictv8di_mask */

            case V4DImode:
              if (pattern301 (x2, V4DImode, QImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 19530 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512CD) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4890; /* conflictv4di_mask */

            case V2DImode:
              if (pattern301 (x2, V2DImode, QImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 19530 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512CD) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4892; /* conflictv2di_mask */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 2:
      return recog_74 (x1, insn, pnum_clobbers);

    case 3:
      return recog_73 (x1, insn, pnum_clobbers);

    case 4:
      x5 = XVECEXP (x3, 0, 0);
      operands[1] = x5;
      x7 = XVECEXP (x3, 0, 1);
      operands[2] = x7;
      x8 = XVECEXP (x3, 0, 2);
      operands[3] = x8;
      x9 = XVECEXP (x3, 0, 3);
      operands[4] = x9;
      if (!const_0_to_255_operand (operands[4], SImode))
        return -1;
      switch (XINT (x3, 1))
        {
        case 160:
          x4 = XEXP (x2, 1);
          switch (GET_CODE (x4))
            {
            case CONST_INT:
            case CONST_DOUBLE:
            case CONST_VECTOR:
              operands[5] = x4;
              x6 = XEXP (x2, 2);
              operands[6] = x6;
              switch (GET_MODE (operands[0]))
                {
                case V16SImode:
                  if (pattern698 (x2, V16SImode, HImode) != 0
                      || !
#line 8230 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                    return -1;
                  return 2560; /* avx512f_vternlogv16si_maskz_1 */

                case V8SImode:
                  if (pattern698 (x2, V8SImode, QImode) != 0
                      || !(
#line 8230 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                    return -1;
                  return 2562; /* avx512vl_vternlogv8si_maskz_1 */

                case V4SImode:
                  if (pattern698 (x2, V4SImode, QImode) != 0
                      || !(
#line 8230 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                    return -1;
                  return 2564; /* avx512vl_vternlogv4si_maskz_1 */

                case V8DImode:
                  if (pattern698 (x2, V8DImode, QImode) != 0
                      || !
#line 8230 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                    return -1;
                  return 2566; /* avx512f_vternlogv8di_maskz_1 */

                case V4DImode:
                  if (pattern698 (x2, V4DImode, QImode) != 0
                      || !(
#line 8230 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                    return -1;
                  return 2568; /* avx512vl_vternlogv4di_maskz_1 */

                case V2DImode:
                  if (pattern698 (x2, V2DImode, QImode) != 0
                      || !(
#line 8230 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                    return -1;
                  return 2570; /* avx512vl_vternlogv2di_maskz_1 */

                default:
                  return -1;
                }

            case REG:
            case SUBREG:
              if (!rtx_equal_p (x4, operands[1]))
                return -1;
              x6 = XEXP (x2, 2);
              operands[5] = x6;
              switch (GET_MODE (operands[0]))
                {
                case V16SImode:
                  if (pattern699 (x2, V16SImode, HImode) != 0
                      || !
#line 8247 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                    return -1;
                  return 2571; /* avx512f_vternlogv16si_mask */

                case V8SImode:
                  if (pattern699 (x2, V8SImode, QImode) != 0
                      || !(
#line 8247 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                    return -1;
                  return 2572; /* avx512vl_vternlogv8si_mask */

                case V4SImode:
                  if (pattern699 (x2, V4SImode, QImode) != 0
                      || !(
#line 8247 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                    return -1;
                  return 2573; /* avx512vl_vternlogv4si_mask */

                case V8DImode:
                  if (pattern699 (x2, V8DImode, QImode) != 0
                      || !
#line 8247 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                    return -1;
                  return 2574; /* avx512f_vternlogv8di_mask */

                case V4DImode:
                  if (pattern699 (x2, V4DImode, QImode) != 0
                      || !(
#line 8247 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                    return -1;
                  return 2575; /* avx512vl_vternlogv4di_mask */

                case V2DImode:
                  if (pattern699 (x2, V2DImode, QImode) != 0
                      || !(
#line 8247 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                    return -1;
                  return 2576; /* avx512vl_vternlogv2di_mask */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case 158:
          x4 = XEXP (x2, 1);
          switch (GET_CODE (x4))
            {
            case CONST_INT:
            case CONST_DOUBLE:
            case CONST_VECTOR:
              operands[5] = x4;
              x6 = XEXP (x2, 2);
              operands[6] = x6;
              switch (GET_MODE (operands[0]))
                {
                case V16SFmode:
                  if (pattern700 (x2, V16SFmode, V16SImode, HImode) != 0
                      || !
#line 8343 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                    return -1;
                  return 2619; /* avx512f_fixupimmv16sf_maskz_1 */

                case V8SFmode:
                  if (pattern700 (x2, V8SFmode, V8SImode, QImode) != 0
                      || !(
#line 8343 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                    return -1;
                  return 2623; /* avx512vl_fixupimmv8sf_maskz_1 */

                case V4SFmode:
                  if (pattern700 (x2, V4SFmode, V4SImode, QImode) != 0
                      || !(
#line 8343 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                    return -1;
                  return 2627; /* avx512vl_fixupimmv4sf_maskz_1 */

                case V8DFmode:
                  if (pattern700 (x2, V8DFmode, V8DImode, QImode) != 0
                      || !
#line 8343 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                    return -1;
                  return 2631; /* avx512f_fixupimmv8df_maskz_1 */

                case V4DFmode:
                  if (pattern700 (x2, V4DFmode, V4DImode, QImode) != 0
                      || !(
#line 8343 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                    return -1;
                  return 2635; /* avx512vl_fixupimmv4df_maskz_1 */

                case V2DFmode:
                  if (pattern700 (x2, V2DFmode, V2DImode, QImode) != 0
                      || !(
#line 8343 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                    return -1;
                  return 2639; /* avx512vl_fixupimmv2df_maskz_1 */

                default:
                  return -1;
                }

            case REG:
            case SUBREG:
              if (!rtx_equal_p (x4, operands[1]))
                return -1;
              x6 = XEXP (x2, 2);
              switch (pattern413 (x6))
                {
                case 0:
                  if (pattern725 (x2, V16SImode, V16SFmode, HImode) != 0
                      || !
#line 8359 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                    return -1;
                  return 2641; /* avx512f_fixupimmv16sf_mask */

                case 1:
                  if (pattern725 (x2, V8SImode, V8SFmode, QImode) != 0
                      || !(
#line 8359 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                    return -1;
                  return 2643; /* avx512vl_fixupimmv8sf_mask */

                case 2:
                  if (pattern725 (x2, V4SImode, V4SFmode, QImode) != 0
                      || !(
#line 8359 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                    return -1;
                  return 2645; /* avx512vl_fixupimmv4sf_mask */

                case 3:
                  if (pattern725 (x2, V8DImode, V8DFmode, QImode) != 0
                      || !
#line 8359 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                    return -1;
                  return 2647; /* avx512f_fixupimmv8df_mask */

                case 4:
                  if (pattern725 (x2, V4DImode, V4DFmode, QImode) != 0
                      || !(
#line 8359 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                    return -1;
                  return 2649; /* avx512vl_fixupimmv4df_mask */

                case 5:
                  if (pattern725 (x2, V2DImode, V2DFmode, QImode) != 0
                      || !(
#line 8359 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                    return -1;
                  return 2651; /* avx512vl_fixupimmv2df_mask */

                case 6:
                  if (pattern726 (x2, V4SImode, V4SFmode) != 0
                      || !
#line 8391 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                    return -1;
                  return 2653; /* avx512f_sfixupimmv4sf */

                case 7:
                  if (pattern726 (x2, V2DImode, V2DFmode) != 0
                      || !(
#line 8391 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
                    return -1;
                  return 2657; /* avx512f_sfixupimmv2df */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_95 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
    case MEM:
      operands[1] = x4;
      x5 = XEXP (x3, 1);
      operands[2] = x5;
      x6 = XEXP (x3, 2);
      switch (GET_CODE (x6))
        {
        case REG:
        case SUBREG:
        case MEM:
          operands[3] = x6;
          switch (pattern414 (x2))
            {
            case 0:
              if (pattern655 (x2, V16SFmode, HImode) != 0
                  || !
#line 3625 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1))
                return -1;
              return 1798; /* fma_fmadd_v16sf_maskz_1 */

            case 1:
              if (pattern655 (x2, V8SFmode, QImode) != 0
                  || !(
#line 3625 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) && 
#line 3616 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 1801; /* fma_fmadd_v8sf_maskz_1 */

            case 2:
              if (pattern655 (x2, V4SFmode, QImode) != 0
                  || !(
#line 3625 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) && 
#line 3616 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 1803; /* fma_fmadd_v4sf_maskz_1 */

            case 3:
              if (pattern655 (x2, V8DFmode, QImode) != 0
                  || !
#line 3625 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1))
                return -1;
              return 1807; /* fma_fmadd_v8df_maskz_1 */

            case 4:
              if (pattern655 (x2, V4DFmode, QImode) != 0
                  || !(
#line 3625 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) && 
#line 3617 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 1810; /* fma_fmadd_v4df_maskz_1 */

            case 5:
              if (pattern655 (x2, V2DFmode, QImode) != 0
                  || !(
#line 3625 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) && 
#line 3617 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 1812; /* fma_fmadd_v2df_maskz_1 */

            case 6:
              if (pattern656 (x2, V4SFmode) != 0
                  || !
#line 4148 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA4))
                return -1;
              return 2083; /* *fma4i_vmfmadd_v4sf */

            case 7:
              if (pattern656 (x2, V2DFmode) != 0
                  || !(
#line 4148 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA4) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
                return -1;
              return 2084; /* *fma4i_vmfmadd_v2df */

            case 8:
              if (pattern601 (x2, V16SFmode, HImode) != 0)
                return -1;
              if (nonimmediate_operand (operands[3], V16SFmode))
                {
                  x7 = XEXP (x2, 1);
                  if (rtx_equal_p (x7, operands[1])
                      && 
#line 3642 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1))
                    return 1813; /* avx512f_fmadd_v16sf_mask */
                }
              if (!register_operand (operands[3], V16SFmode))
                return -1;
              x7 = XEXP (x2, 1);
              if (!rtx_equal_p (x7, operands[3])
                  || !
#line 3659 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return -1;
              return 1821; /* avx512f_fmadd_v16sf_mask3 */

            case 9:
              if (pattern601 (x2, V8SFmode, QImode) != 0)
                return -1;
              if (nonimmediate_operand (operands[3], V8SFmode))
                {
                  x7 = XEXP (x2, 1);
                  if (rtx_equal_p (x7, operands[1])
                      && (
#line 3642 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                    return 1815; /* avx512vl_fmadd_v8sf_mask */
                }
              if (!register_operand (operands[3], V8SFmode))
                return -1;
              x7 = XEXP (x2, 1);
              if (!rtx_equal_p (x7, operands[3])
                  || !(
#line 3659 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 1823; /* avx512vl_fmadd_v8sf_mask3 */

            case 10:
              if (pattern601 (x2, V4SFmode, QImode) != 0)
                return -1;
              if (nonimmediate_operand (operands[3], V4SFmode))
                {
                  x7 = XEXP (x2, 1);
                  if (rtx_equal_p (x7, operands[1])
                      && (
#line 3642 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                    return 1816; /* avx512vl_fmadd_v4sf_mask */
                }
              if (!register_operand (operands[3], V4SFmode))
                return -1;
              x7 = XEXP (x2, 1);
              if (!rtx_equal_p (x7, operands[3])
                  || !(
#line 3659 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 1825; /* avx512vl_fmadd_v4sf_mask3 */

            case 11:
              if (pattern601 (x2, V8DFmode, QImode) != 0)
                return -1;
              if (nonimmediate_operand (operands[3], V8DFmode))
                {
                  x7 = XEXP (x2, 1);
                  if (rtx_equal_p (x7, operands[1])
                      && 
#line 3642 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1))
                    return 1817; /* avx512f_fmadd_v8df_mask */
                }
              if (!register_operand (operands[3], V8DFmode))
                return -1;
              x7 = XEXP (x2, 1);
              if (!rtx_equal_p (x7, operands[3])
                  || !
#line 3659 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return -1;
              return 1827; /* avx512f_fmadd_v8df_mask3 */

            case 12:
              if (pattern601 (x2, V4DFmode, QImode) != 0)
                return -1;
              if (nonimmediate_operand (operands[3], V4DFmode))
                {
                  x7 = XEXP (x2, 1);
                  if (rtx_equal_p (x7, operands[1])
                      && (
#line 3642 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                    return 1819; /* avx512vl_fmadd_v4df_mask */
                }
              if (!register_operand (operands[3], V4DFmode))
                return -1;
              x7 = XEXP (x2, 1);
              if (!rtx_equal_p (x7, operands[3])
                  || !(
#line 3659 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 1829; /* avx512vl_fmadd_v4df_mask3 */

            case 13:
              if (pattern601 (x2, V2DFmode, QImode) != 0)
                return -1;
              if (nonimmediate_operand (operands[3], V2DFmode))
                {
                  x7 = XEXP (x2, 1);
                  if (rtx_equal_p (x7, operands[1])
                      && (
#line 3642 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                    return 1820; /* avx512vl_fmadd_v2df_mask */
                }
              if (!register_operand (operands[3], V2DFmode))
                return -1;
              x7 = XEXP (x2, 1);
              if (!rtx_equal_p (x7, operands[3])
                  || !(
#line 3659 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 1831; /* avx512vl_fmadd_v2df_mask3 */

            case 14:
              if (pattern657 (x2, V4SFmode) != 0
                  || !
#line 4065 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_AVX512F))
                return -1;
              return 2067; /* *fmai_fmadd_v4sf */

            case 15:
              if (pattern657 (x2, V2DFmode) != 0
                  || !(
#line 4065 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_AVX512F) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
                return -1;
              return 2069; /* *fmai_fmadd_v2df */

            default:
              return -1;
            }

        case NEG:
          x8 = XEXP (x6, 0);
          operands[3] = x8;
          switch (pattern414 (x2))
            {
            case 0:
              if (pattern659 (x2, V16SFmode, HImode) != 0
                  || !
#line 3690 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1))
                return -1;
              return 1842; /* fma_fmsub_v16sf_maskz_1 */

            case 1:
              if (pattern659 (x2, V8SFmode, QImode) != 0
                  || !(
#line 3690 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) && 
#line 3616 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 1845; /* fma_fmsub_v8sf_maskz_1 */

            case 2:
              if (pattern659 (x2, V4SFmode, QImode) != 0
                  || !(
#line 3690 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) && 
#line 3616 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 1847; /* fma_fmsub_v4sf_maskz_1 */

            case 3:
              if (pattern659 (x2, V8DFmode, QImode) != 0
                  || !
#line 3690 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1))
                return -1;
              return 1851; /* fma_fmsub_v8df_maskz_1 */

            case 4:
              if (pattern659 (x2, V4DFmode, QImode) != 0
                  || !(
#line 3690 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) && 
#line 3617 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 1854; /* fma_fmsub_v4df_maskz_1 */

            case 5:
              if (pattern659 (x2, V2DFmode, QImode) != 0
                  || !(
#line 3690 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) && 
#line 3617 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 1856; /* fma_fmsub_v2df_maskz_1 */

            case 6:
              if (pattern661 (x2, V4SFmode) != 0
                  || !
#line 4163 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA4))
                return -1;
              return 2085; /* *fma4i_vmfmsub_v4sf */

            case 7:
              if (pattern661 (x2, V2DFmode) != 0
                  || !(
#line 4163 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA4) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
                return -1;
              return 2086; /* *fma4i_vmfmsub_v2df */

            case 8:
              if (pattern602 (x2, V16SFmode, HImode) != 0)
                return -1;
              if (nonimmediate_operand (operands[3], V16SFmode))
                {
                  x7 = XEXP (x2, 1);
                  if (rtx_equal_p (x7, operands[1])
                      && 
#line 3708 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                    return 1857; /* avx512f_fmsub_v16sf_mask */
                }
              if (!register_operand (operands[3], V16SFmode))
                return -1;
              x7 = XEXP (x2, 1);
              if (!rtx_equal_p (x7, operands[3])
                  || !
#line 3726 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1))
                return -1;
              return 1869; /* avx512f_fmsub_v16sf_mask3 */

            case 9:
              if (pattern602 (x2, V8SFmode, QImode) != 0)
                return -1;
              if (nonimmediate_operand (operands[3], V8SFmode))
                {
                  x7 = XEXP (x2, 1);
                  if (rtx_equal_p (x7, operands[1])
                      && (
#line 3708 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                    return 1859; /* avx512vl_fmsub_v8sf_mask */
                }
              if (!register_operand (operands[3], V8SFmode))
                return -1;
              x7 = XEXP (x2, 1);
              if (!rtx_equal_p (x7, operands[3])
                  || !(
#line 3726 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 1871; /* avx512vl_fmsub_v8sf_mask3 */

            case 10:
              if (pattern602 (x2, V4SFmode, QImode) != 0)
                return -1;
              if (nonimmediate_operand (operands[3], V4SFmode))
                {
                  x7 = XEXP (x2, 1);
                  if (rtx_equal_p (x7, operands[1])
                      && (
#line 3708 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                    return 1861; /* avx512vl_fmsub_v4sf_mask */
                }
              if (!register_operand (operands[3], V4SFmode))
                return -1;
              x7 = XEXP (x2, 1);
              if (!rtx_equal_p (x7, operands[3])
                  || !(
#line 3726 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 1872; /* avx512vl_fmsub_v4sf_mask3 */

            case 11:
              if (pattern602 (x2, V8DFmode, QImode) != 0)
                return -1;
              if (nonimmediate_operand (operands[3], V8DFmode))
                {
                  x7 = XEXP (x2, 1);
                  if (rtx_equal_p (x7, operands[1])
                      && 
#line 3708 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                    return 1863; /* avx512f_fmsub_v8df_mask */
                }
              if (!register_operand (operands[3], V8DFmode))
                return -1;
              x7 = XEXP (x2, 1);
              if (!rtx_equal_p (x7, operands[3])
                  || !
#line 3726 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1))
                return -1;
              return 1873; /* avx512f_fmsub_v8df_mask3 */

            case 12:
              if (pattern602 (x2, V4DFmode, QImode) != 0)
                return -1;
              if (nonimmediate_operand (operands[3], V4DFmode))
                {
                  x7 = XEXP (x2, 1);
                  if (rtx_equal_p (x7, operands[1])
                      && (
#line 3708 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                    return 1865; /* avx512vl_fmsub_v4df_mask */
                }
              if (!register_operand (operands[3], V4DFmode))
                return -1;
              x7 = XEXP (x2, 1);
              if (!rtx_equal_p (x7, operands[3])
                  || !(
#line 3726 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 1875; /* avx512vl_fmsub_v4df_mask3 */

            case 13:
              if (pattern602 (x2, V2DFmode, QImode) != 0)
                return -1;
              if (nonimmediate_operand (operands[3], V2DFmode))
                {
                  x7 = XEXP (x2, 1);
                  if (rtx_equal_p (x7, operands[1])
                      && (
#line 3708 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                    return 1867; /* avx512vl_fmsub_v2df_mask */
                }
              if (!register_operand (operands[3], V2DFmode))
                return -1;
              x7 = XEXP (x2, 1);
              if (!rtx_equal_p (x7, operands[3])
                  || !(
#line 3726 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 1876; /* avx512vl_fmsub_v2df_mask3 */

            case 14:
              if (pattern662 (x2, V4SFmode) != 0
                  || !
#line 4082 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_AVX512F))
                return -1;
              return 2071; /* *fmai_fmsub_v4sf */

            case 15:
              if (pattern662 (x2, V2DFmode) != 0
                  || !(
#line 4082 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_AVX512F) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
                return -1;
              return 2073; /* *fmai_fmsub_v2df */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case NEG:
      return recog_75 (x1, insn, pnum_clobbers);

    default:
      return -1;
    }
}

static int
recog_96 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19, x20, x21, x22, x23, x24, x25;
  rtx x26, x27;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case UNSPEC:
      x5 = XEXP (x2, 2);
      if (!register_operand (x5, QImode))
        return -1;
      switch (XVECLEN (x4, 0))
        {
        case 1:
          x6 = XEXP (x3, 1);
          if (pattern222 (x6) != 0
              || pattern415 (x2, V2SImode, V4SImode) != 0)
            return -1;
          x7 = XVECEXP (x4, 0, 0);
          operands[1] = x7;
          x8 = XEXP (x2, 1);
          operands[2] = x8;
          if (!vector_move_operand (operands[2], V4SImode))
            return -1;
          operands[3] = x5;
          switch (XINT (x4, 1))
            {
            case 42:
              if (!vector_operand (operands[1], V2DFmode)
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 5077 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && TARGET_AVX512VL)))
                return -1;
              return 2279; /* sse2_cvtpd2dq_mask */

            case 151:
              if (!nonimmediate_operand (operands[1], V2DFmode)
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 5115 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 2289; /* ufix_notruncv2dfv2si2_mask */

            default:
              return -1;
            }

        case 2:
          if (XINT (x4, 1) != 143
              || GET_MODE (x4) != V4HImode
              || pattern419 (x2, V4SFmode, V8HImode) != 0)
            return -1;
          x9 = XVECEXP (x4, 0, 1);
          operands[2] = x9;
          if (!const_0_to_255_operand (operands[2], SImode))
            return -1;
          x6 = XEXP (x3, 1);
          operands[3] = x6;
          if (!const0_operand (operands[3], V4HImode))
            return -1;
          x8 = XEXP (x2, 1);
          operands[4] = x8;
          if (!vector_move_operand (operands[4], V8HImode))
            return -1;
          operands[5] = x5;
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 18922 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
((TARGET_F16C || TARGET_AVX512VL) && TARGET_AVX512VL)))
            return -1;
          return 4543; /* *vcvtps2ph_mask */

        default:
          return -1;
        }

    case UNSIGNED_FIX:
      if (GET_MODE (x4) != V2SImode)
        return -1;
      x6 = XEXP (x3, 1);
      if (pattern222 (x6) != 0
          || pattern533 (x2, V2DFmode, V4SImode) != 0)
        return -1;
      x8 = XEXP (x2, 1);
      operands[2] = x8;
      if (!vector_move_operand (operands[2], V4SImode))
        return -1;
      x5 = XEXP (x2, 2);
      operands[3] = x5;
      if (!register_operand (operands[3], QImode)
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 5136 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 2299; /* ufix_truncv2dfv2si2_mask */

    case FIX:
      if (GET_MODE (x4) != V2SImode)
        return -1;
      x6 = XEXP (x3, 1);
      if (pattern222 (x6) != 0
          || pattern223 (x2, V4SImode) != 0)
        return -1;
      x8 = XEXP (x2, 1);
      operands[2] = x8;
      if (!vector_move_operand (operands[2], V4SImode))
        return -1;
      x5 = XEXP (x2, 2);
      operands[3] = x5;
      if (!register_operand (operands[3], QImode)
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 5237 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && TARGET_AVX512VL)))
        return -1;
      return 2357; /* sse2_cvttpd2dq_mask */

    case FLOAT_TRUNCATE:
      if (GET_MODE (x4) != V2SFmode
          || pattern223 (x2, V4SFmode) != 0)
        return -1;
      x6 = XEXP (x3, 1);
      operands[2] = x6;
      if (!const0_operand (operands[2], V2SFmode))
        return -1;
      x8 = XEXP (x2, 1);
      operands[3] = x8;
      if (!vector_move_operand (operands[3], V4SFmode))
        return -1;
      x5 = XEXP (x2, 2);
      operands[4] = x5;
      if (!register_operand (operands[4], QImode)
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 5386 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && TARGET_AVX512VL)))
        return -1;
      return 2371; /* *sse2_cvtpd2ps_mask */

    case SS_TRUNCATE:
      switch (pattern164 (x2, SS_TRUNCATE))
        {
        case 0:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11929 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) && 
#line 326 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))))
            return -1;
          return 3535; /* avx512bw_packsswb_mask */

        case 1:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11929 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) && 
#line 326 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))))
            return -1;
          return 3537; /* avx2_packsswb_mask */

        case 2:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 11929 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW)))
            return -1;
          return 3539; /* sse2_packsswb_mask */

        case 3:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11947 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) && 
#line 329 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))))
            return -1;
          return 3541; /* avx512bw_packssdw_mask */

        case 4:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11947 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) && 
#line 329 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))))
            return -1;
          return 3543; /* avx2_packssdw_mask */

        case 5:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 11947 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW)))
            return -1;
          return 3545; /* sse2_packssdw_mask */

        default:
          return -1;
        }

    case US_TRUNCATE:
      switch (pattern164 (x2, US_TRUNCATE))
        {
        case 0:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11965 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) && 
#line 326 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))))
            return -1;
          return 3547; /* avx512bw_packuswb_mask */

        case 1:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11965 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) && 
#line 326 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))))
            return -1;
          return 3549; /* avx2_packuswb_mask */

        case 2:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 11965 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW)))
            return -1;
          return 3551; /* sse2_packuswb_mask */

        case 3:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 15125 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) && 
#line 329 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))))
            return -1;
          return 3820; /* avx512bw_packusdw_mask */

        case 4:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 15125 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) && 
#line 329 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))))
            return -1;
          return 3822; /* avx2_packusdw_mask */

        case 5:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 15125 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW)))
            return -1;
          return 3824; /* sse4_1_packusdw_mask */

        default:
          return -1;
        }

    case REG:
    case SUBREG:
    case MEM:
      operands[2] = x4;
      x6 = XEXP (x3, 1);
      if (GET_CODE (x6) != VEC_SELECT)
        return -1;
      x10 = XEXP (x6, 1);
      if (GET_CODE (x10) != PARALLEL)
        return -1;
      x11 = XEXP (x6, 0);
      operands[1] = x11;
      x8 = XEXP (x2, 1);
      operands[3] = x8;
      x5 = XEXP (x2, 2);
      operands[4] = x5;
      switch (XVECLEN (x10, 0))
        {
        case 8:
          x12 = XVECEXP (x10, 0, 0);
          if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
            return -1;
          x13 = XVECEXP (x10, 0, 1);
          if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 9])
            return -1;
          x14 = XVECEXP (x10, 0, 2);
          if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
            return -1;
          x15 = XVECEXP (x10, 0, 3);
          if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 11])
            return -1;
          x16 = XVECEXP (x10, 0, 4);
          if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
            return -1;
          x17 = XVECEXP (x10, 0, 5);
          if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 13])
            return -1;
          x18 = XVECEXP (x10, 0, 6);
          if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 14])
            return -1;
          x19 = XVECEXP (x10, 0, 7);
          if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 15]
              || !register_operand (operands[4], HImode))
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case V16SFmode:
              if (pattern727 (x2, V16SFmode, V8SFmode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 12604 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ)))
                return -1;
              return 3601; /* vec_set_lo_v16sf_mask */

            case V16SImode:
              if (pattern727 (x2, V16SImode, V8SImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 12604 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ)))
                return -1;
              return 3603; /* vec_set_lo_v16si_mask */

            default:
              return -1;
            }

        case 4:
          x12 = XVECEXP (x10, 0, 0);
          if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
            return -1;
          x13 = XVECEXP (x10, 0, 1);
          if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
            return -1;
          x14 = XVECEXP (x10, 0, 2);
          if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
            return -1;
          x15 = XVECEXP (x10, 0, 3);
          if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
              || !register_operand (operands[4], QImode))
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case V8DFmode:
              if (pattern727 (x2, V8DFmode, V4DFmode) != 0
                  || !
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                return -1;
              return 3609; /* vec_set_lo_v8df_mask */

            case V8DImode:
              if (pattern727 (x2, V8DImode, V4DImode) != 0
                  || !
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                return -1;
              return 3611; /* vec_set_lo_v8di_mask */

            case V8SImode:
              if (pattern727 (x2, V8SImode, V4SImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 18486 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
                return -1;
              return 4436; /* vec_set_lo_v8si_mask */

            case V8SFmode:
              if (pattern727 (x2, V8SFmode, V4SFmode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 18486 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
                return -1;
              return 4438; /* vec_set_lo_v8sf_mask */

            default:
              return -1;
            }

        case 2:
          x12 = XVECEXP (x10, 0, 0);
          if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
            return -1;
          x13 = XVECEXP (x10, 0, 1);
          if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 3]
              || !register_operand (operands[4], QImode))
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case V4DImode:
              if (pattern727 (x2, V4DImode, V2DImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 18441 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && TARGET_AVX512DQ)))
                return -1;
              return 4428; /* vec_set_lo_v4di_mask */

            case V4DFmode:
              if (pattern727 (x2, V4DFmode, V2DFmode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 18441 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && TARGET_AVX512DQ)))
                return -1;
              return 4430; /* vec_set_lo_v4df_mask */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case VEC_SELECT:
      x20 = XEXP (x4, 1);
      if (GET_CODE (x20) != PARALLEL)
        return -1;
      x21 = XEXP (x4, 0);
      operands[1] = x21;
      x6 = XEXP (x3, 1);
      operands[2] = x6;
      x8 = XEXP (x2, 1);
      operands[3] = x8;
      x5 = XEXP (x2, 2);
      operands[4] = x5;
      switch (XVECLEN (x20, 0))
        {
        case 8:
          if (pattern534 (x20) != 0)
            return -1;
          x22 = XVECEXP (x20, 0, 4);
          if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
            return -1;
          x23 = XVECEXP (x20, 0, 5);
          if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
            return -1;
          x24 = XVECEXP (x20, 0, 6);
          if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
            return -1;
          x25 = XVECEXP (x20, 0, 7);
          if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
              || !register_operand (operands[4], HImode))
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case V16SFmode:
              if (pattern701 (x2, V16SFmode, V8SFmode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 12621 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ)))
                return -1;
              return 3605; /* vec_set_hi_v16sf_mask */

            case V16SImode:
              if (pattern701 (x2, V16SImode, V8SImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 12621 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ)))
                return -1;
              return 3607; /* vec_set_hi_v16si_mask */

            default:
              return -1;
            }

        case 4:
          if (pattern534 (x20) != 0
              || !register_operand (operands[4], QImode))
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case V8DFmode:
              if (pattern701 (x2, V8DFmode, V4DFmode) != 0
                  || !
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                return -1;
              return 3613; /* vec_set_hi_v8df_mask */

            case V8DImode:
              if (pattern701 (x2, V8DImode, V4DImode) != 0
                  || !
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                return -1;
              return 3615; /* vec_set_hi_v8di_mask */

            case V8SImode:
              if (pattern701 (x2, V8SImode, V4SImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 18507 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
                return -1;
              return 4440; /* vec_set_hi_v8si_mask */

            case V8SFmode:
              if (pattern701 (x2, V8SFmode, V4SFmode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 18507 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
                return -1;
              return 4442; /* vec_set_hi_v8sf_mask */

            default:
              return -1;
            }

        case 2:
          x26 = XVECEXP (x20, 0, 0);
          if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x27 = XVECEXP (x20, 0, 1);
          if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
              || !register_operand (operands[4], QImode))
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case V4DImode:
              if (pattern701 (x2, V4DImode, V2DImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 18463 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && TARGET_AVX512DQ)))
                return -1;
              return 4432; /* vec_set_hi_v4di_mask */

            case V4DFmode:
              if (pattern701 (x2, V4DFmode, V2DFmode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 18463 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && TARGET_AVX512DQ)))
                return -1;
              return 4434; /* vec_set_hi_v4df_mask */

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_97 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  x5 = XEXP (x3, 1);
  operands[2] = x5;
  x6 = XEXP (x2, 1);
  switch (GET_CODE (x6))
    {
    case CONST_INT:
    case CONST_DOUBLE:
    case CONST_VECTOR:
    case REG:
    case SUBREG:
    case MEM:
      switch (pattern215 (x2))
        {
        case 0:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MINUS, V16SFmode, operands) && (64 == 64 || TARGET_AVX512VL) && 1) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
            return -1;
          return 1355; /* *subv16sf3_mask */

        case 1:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MINUS, V8SFmode, operands) && (32 == 64 || TARGET_AVX512VL) && 1) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
            return -1;
          return 1363; /* *subv8sf3_mask */

        case 2:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 1561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MINUS, V4SFmode, operands) && (16 == 64 || TARGET_AVX512VL) && 1)))
            return -1;
          return 1371; /* *subv4sf3_mask */

        case 3:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MINUS, V8DFmode, operands) && (64 == 64 || TARGET_AVX512VL) && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
            return -1;
          return 1379; /* *subv8df3_mask */

        case 4:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MINUS, V4DFmode, operands) && (32 == 64 || TARGET_AVX512VL) && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
            return -1;
          return 1387; /* *subv4df3_mask */

        case 5:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MINUS, V2DFmode, operands) && (16 == 64 || TARGET_AVX512VL) && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))))
            return -1;
          return 1395; /* *subv2df3_mask */

        case 6:
          if (vector_operand (operands[1], V64QImode)
              && vector_operand (operands[2], V64QImode)
              && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 9937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (MINUS, V64QImode, operands)) && 
#line 293 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))))
            return 2925; /* *subv64qi3 */
          if (!nonimmediate_operand (operands[1], V64QImode)
              || !nonimmediate_operand (operands[2], V64QImode)
              || !
#line 9971 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW && ix86_binary_operator_ok (MINUS, V64QImode, operands)))
            return -1;
          return 2983; /* *subv64qi3_mask */

        case 7:
          if (vector_operand (operands[1], V32QImode)
              && vector_operand (operands[2], V32QImode)
              && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 9937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (MINUS, V32QImode, operands)) && 
#line 293 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))))
            return 2929; /* *subv32qi3 */
          if (!nonimmediate_operand (operands[1], V32QImode)
              || !nonimmediate_operand (operands[2], V32QImode)
              || !(
#line 9971 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW && ix86_binary_operator_ok (MINUS, V32QImode, operands)) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 2987; /* *subv32qi3_mask */

        case 8:
          if (vector_operand (operands[1], V16QImode)
              && vector_operand (operands[2], V16QImode)
              && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 9937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (MINUS, V16QImode, operands))))
            return 2933; /* *subv16qi3 */
          if (!nonimmediate_operand (operands[1], V16QImode)
              || !nonimmediate_operand (operands[2], V16QImode)
              || !(
#line 9971 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW && ix86_binary_operator_ok (MINUS, V16QImode, operands)) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 2985; /* *subv16qi3_mask */

        case 9:
          if (vector_operand (operands[1], V32HImode)
              && vector_operand (operands[2], V32HImode)
              && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 9937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (MINUS, V32HImode, operands)) && 
#line 294 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))))
            return 2937; /* *subv32hi3 */
          if (!nonimmediate_operand (operands[1], V32HImode)
              || !nonimmediate_operand (operands[2], V32HImode)
              || !
#line 9971 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW && ix86_binary_operator_ok (MINUS, V32HImode, operands)))
            return -1;
          return 2989; /* *subv32hi3_mask */

        case 10:
          if (vector_operand (operands[1], V16HImode)
              && vector_operand (operands[2], V16HImode)
              && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 9937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (MINUS, V16HImode, operands)) && 
#line 294 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))))
            return 2941; /* *subv16hi3 */
          if (!nonimmediate_operand (operands[1], V16HImode)
              || !nonimmediate_operand (operands[2], V16HImode)
              || !(
#line 9971 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW && ix86_binary_operator_ok (MINUS, V16HImode, operands)) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 2991; /* *subv16hi3_mask */

        case 11:
          if (vector_operand (operands[1], V8HImode)
              && vector_operand (operands[2], V8HImode)
              && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 9937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (MINUS, V8HImode, operands))))
            return 2945; /* *subv8hi3 */
          if (!nonimmediate_operand (operands[1], V8HImode)
              || !nonimmediate_operand (operands[2], V8HImode)
              || !(
#line 9971 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW && ix86_binary_operator_ok (MINUS, V8HImode, operands)) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 2993; /* *subv8hi3_mask */

        case 12:
          if (vector_operand (operands[1], V16SImode)
              && vector_operand (operands[2], V16SImode)
              && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 9937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (MINUS, V16SImode, operands)) && 
#line 295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
            return 2949; /* *subv16si3 */
          if (!nonimmediate_operand (operands[1], V16SImode)
              || !nonimmediate_operand (operands[2], V16SImode)
              || !
#line 9956 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F
   && ix86_binary_operator_ok (MINUS, V16SImode, operands)))
            return -1;
          return 2971; /* *subv16si3_mask */

        case 13:
          if (vector_operand (operands[1], V8SImode)
              && vector_operand (operands[2], V8SImode)
              && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 9937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (MINUS, V8SImode, operands)) && 
#line 295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))))
            return 2953; /* *subv8si3 */
          if (!nonimmediate_operand (operands[1], V8SImode)
              || !nonimmediate_operand (operands[2], V8SImode)
              || !(
#line 9956 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F
   && ix86_binary_operator_ok (MINUS, V8SImode, operands)) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 2973; /* *subv8si3_mask */

        case 14:
          if (vector_operand (operands[1], V4SImode)
              && vector_operand (operands[2], V4SImode)
              && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 9937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (MINUS, V4SImode, operands))))
            return 2957; /* *subv4si3 */
          if (!nonimmediate_operand (operands[1], V4SImode)
              || !nonimmediate_operand (operands[2], V4SImode)
              || !(
#line 9956 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F
   && ix86_binary_operator_ok (MINUS, V4SImode, operands)) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 2975; /* *subv4si3_mask */

        case 15:
          if (vector_operand (operands[1], V8DImode)
              && vector_operand (operands[2], V8DImode)
              && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 9937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (MINUS, V8DImode, operands)) && 
#line 296 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
            return 2961; /* *subv8di3 */
          if (!nonimmediate_operand (operands[1], V8DImode)
              || !nonimmediate_operand (operands[2], V8DImode)
              || !
#line 9956 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F
   && ix86_binary_operator_ok (MINUS, V8DImode, operands)))
            return -1;
          return 2977; /* *subv8di3_mask */

        case 16:
          if (vector_operand (operands[1], V4DImode)
              && vector_operand (operands[2], V4DImode)
              && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 9937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (MINUS, V4DImode, operands)) && 
#line 296 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))))
            return 2965; /* *subv4di3 */
          if (!nonimmediate_operand (operands[1], V4DImode)
              || !nonimmediate_operand (operands[2], V4DImode)
              || !(
#line 9956 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F
   && ix86_binary_operator_ok (MINUS, V4DImode, operands)) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 2979; /* *subv4di3_mask */

        case 17:
          if (vector_operand (operands[1], V2DImode)
              && vector_operand (operands[2], V2DImode)
              && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 9937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (MINUS, V2DImode, operands))))
            return 2969; /* *subv2di3 */
          if (!nonimmediate_operand (operands[1], V2DImode)
              || !nonimmediate_operand (operands[2], V2DImode)
              || !(
#line 9956 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F
   && ix86_binary_operator_ok (MINUS, V2DImode, operands)) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 2981; /* *subv2di3_mask */

        case 18:
          if (!
#line 1578 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE))
            return -1;
          return 1399; /* sse_vmsubv4sf3 */

        case 19:
          if (!(
#line 1578 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
            return -1;
          return 1403; /* sse2_vmsubv2df3 */

        default:
          return -1;
        }

    case PLUS:
      x7 = XEXP (x2, 2);
      if (GET_CODE (x7) != CONST_INT)
        return -1;
      x8 = XEXP (x6, 0);
      if (!rtx_equal_p (x8, operands[1]))
        return -1;
      x9 = XEXP (x6, 1);
      if (!rtx_equal_p (x9, operands[2]))
        return -1;
      switch (XWINT (x7, 0))
        {
        case 5LL:
          switch (GET_MODE (operands[0]))
            {
            case V4DFmode:
              if (pattern520 (x2, V4DFmode) != 0
                  || !
#line 1938 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
                return -1;
              return 1595; /* avx_addsubv4df3 */

            case V4SFmode:
              if (pattern519 (x2, V4SFmode) != 0
                  || !
#line 1984 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE3))
                return -1;
              return 1598; /* sse3_addsubv4sf3 */

            default:
              return -1;
            }

        case 1LL:
          if (pattern519 (x2, V2DFmode) != 0
              || !
#line 1952 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE3))
            return -1;
          return 1596; /* sse3_addsubv2df3 */

        case 85LL:
          if (pattern520 (x2, V8SFmode) != 0
              || !
#line 1970 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
            return -1;
          return 1597; /* avx_addsubv8sf3 */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_98 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  x5 = XEXP (x3, 1);
  operands[2] = x5;
  switch (pattern215 (x2))
    {
    case 0:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (PLUS, V16SFmode, operands) && (64 == 64 || TARGET_AVX512VL) && 1) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
        return -1;
      return 1351; /* *addv16sf3_mask */

    case 1:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (PLUS, V8SFmode, operands) && (32 == 64 || TARGET_AVX512VL) && 1) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
        return -1;
      return 1359; /* *addv8sf3_mask */

    case 2:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 1561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (PLUS, V4SFmode, operands) && (16 == 64 || TARGET_AVX512VL) && 1)))
        return -1;
      return 1367; /* *addv4sf3_mask */

    case 3:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (PLUS, V8DFmode, operands) && (64 == 64 || TARGET_AVX512VL) && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
        return -1;
      return 1375; /* *addv8df3_mask */

    case 4:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (PLUS, V4DFmode, operands) && (32 == 64 || TARGET_AVX512VL) && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
        return -1;
      return 1383; /* *addv4df3_mask */

    case 5:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (PLUS, V2DFmode, operands) && (16 == 64 || TARGET_AVX512VL) && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))))
        return -1;
      return 1391; /* *addv2df3_mask */

    case 6:
      if (vector_operand (operands[1], V64QImode)
          && vector_operand (operands[2], V64QImode)
          && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 9937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (PLUS, V64QImode, operands)) && 
#line 293 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))))
        return 2923; /* *addv64qi3 */
      if (!nonimmediate_operand (operands[1], V64QImode)
          || !nonimmediate_operand (operands[2], V64QImode)
          || !
#line 9971 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW && ix86_binary_operator_ok (PLUS, V64QImode, operands)))
        return -1;
      return 2982; /* *addv64qi3_mask */

    case 7:
      if (vector_operand (operands[1], V32QImode)
          && vector_operand (operands[2], V32QImode)
          && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 9937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (PLUS, V32QImode, operands)) && 
#line 293 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))))
        return 2927; /* *addv32qi3 */
      if (!nonimmediate_operand (operands[1], V32QImode)
          || !nonimmediate_operand (operands[2], V32QImode)
          || !(
#line 9971 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW && ix86_binary_operator_ok (PLUS, V32QImode, operands)) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 2986; /* *addv32qi3_mask */

    case 8:
      if (vector_operand (operands[1], V16QImode)
          && vector_operand (operands[2], V16QImode)
          && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 9937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (PLUS, V16QImode, operands))))
        return 2931; /* *addv16qi3 */
      if (!nonimmediate_operand (operands[1], V16QImode)
          || !nonimmediate_operand (operands[2], V16QImode)
          || !(
#line 9971 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW && ix86_binary_operator_ok (PLUS, V16QImode, operands)) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 2984; /* *addv16qi3_mask */

    case 9:
      if (vector_operand (operands[1], V32HImode)
          && vector_operand (operands[2], V32HImode)
          && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 9937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (PLUS, V32HImode, operands)) && 
#line 294 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))))
        return 2935; /* *addv32hi3 */
      if (!nonimmediate_operand (operands[1], V32HImode)
          || !nonimmediate_operand (operands[2], V32HImode)
          || !
#line 9971 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW && ix86_binary_operator_ok (PLUS, V32HImode, operands)))
        return -1;
      return 2988; /* *addv32hi3_mask */

    case 10:
      if (vector_operand (operands[1], V16HImode)
          && vector_operand (operands[2], V16HImode)
          && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 9937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (PLUS, V16HImode, operands)) && 
#line 294 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))))
        return 2939; /* *addv16hi3 */
      if (!nonimmediate_operand (operands[1], V16HImode)
          || !nonimmediate_operand (operands[2], V16HImode)
          || !(
#line 9971 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW && ix86_binary_operator_ok (PLUS, V16HImode, operands)) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 2990; /* *addv16hi3_mask */

    case 11:
      if (vector_operand (operands[1], V8HImode)
          && vector_operand (operands[2], V8HImode)
          && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 9937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (PLUS, V8HImode, operands))))
        return 2943; /* *addv8hi3 */
      if (!nonimmediate_operand (operands[1], V8HImode)
          || !nonimmediate_operand (operands[2], V8HImode)
          || !(
#line 9971 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW && ix86_binary_operator_ok (PLUS, V8HImode, operands)) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 2992; /* *addv8hi3_mask */

    case 12:
      if (vector_operand (operands[1], V16SImode)
          && vector_operand (operands[2], V16SImode)
          && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 9937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (PLUS, V16SImode, operands)) && 
#line 295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
        return 2947; /* *addv16si3 */
      if (!nonimmediate_operand (operands[1], V16SImode)
          || !nonimmediate_operand (operands[2], V16SImode)
          || !
#line 9956 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F
   && ix86_binary_operator_ok (PLUS, V16SImode, operands)))
        return -1;
      return 2970; /* *addv16si3_mask */

    case 13:
      if (vector_operand (operands[1], V8SImode)
          && vector_operand (operands[2], V8SImode)
          && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 9937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (PLUS, V8SImode, operands)) && 
#line 295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))))
        return 2951; /* *addv8si3 */
      if (!nonimmediate_operand (operands[1], V8SImode)
          || !nonimmediate_operand (operands[2], V8SImode)
          || !(
#line 9956 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F
   && ix86_binary_operator_ok (PLUS, V8SImode, operands)) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 2972; /* *addv8si3_mask */

    case 14:
      if (vector_operand (operands[1], V4SImode)
          && vector_operand (operands[2], V4SImode)
          && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 9937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (PLUS, V4SImode, operands))))
        return 2955; /* *addv4si3 */
      if (!nonimmediate_operand (operands[1], V4SImode)
          || !nonimmediate_operand (operands[2], V4SImode)
          || !(
#line 9956 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F
   && ix86_binary_operator_ok (PLUS, V4SImode, operands)) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 2974; /* *addv4si3_mask */

    case 15:
      if (vector_operand (operands[1], V8DImode)
          && vector_operand (operands[2], V8DImode)
          && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 9937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (PLUS, V8DImode, operands)) && 
#line 296 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
        return 2959; /* *addv8di3 */
      if (!nonimmediate_operand (operands[1], V8DImode)
          || !nonimmediate_operand (operands[2], V8DImode)
          || !
#line 9956 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F
   && ix86_binary_operator_ok (PLUS, V8DImode, operands)))
        return -1;
      return 2976; /* *addv8di3_mask */

    case 16:
      if (vector_operand (operands[1], V4DImode)
          && vector_operand (operands[2], V4DImode)
          && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 9937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (PLUS, V4DImode, operands)) && 
#line 296 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))))
        return 2963; /* *addv4di3 */
      if (!nonimmediate_operand (operands[1], V4DImode)
          || !nonimmediate_operand (operands[2], V4DImode)
          || !(
#line 9956 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F
   && ix86_binary_operator_ok (PLUS, V4DImode, operands)) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 2978; /* *addv4di3_mask */

    case 17:
      if (vector_operand (operands[1], V2DImode)
          && vector_operand (operands[2], V2DImode)
          && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 9937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (PLUS, V2DImode, operands))))
        return 2967; /* *addv2di3 */
      if (!nonimmediate_operand (operands[1], V2DImode)
          || !nonimmediate_operand (operands[2], V2DImode)
          || !(
#line 9956 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F
   && ix86_binary_operator_ok (PLUS, V2DImode, operands)) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 2980; /* *addv2di3_mask */

    case 18:
      if (!
#line 1578 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE))
        return -1;
      return 1397; /* sse_vmaddv4sf3 */

    case 19:
      if (!(
#line 1578 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
        return -1;
      return 1401; /* sse2_vmaddv2df3 */

    default:
      return -1;
    }
}

static int
recog_99 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  x5 = XEXP (x3, 1);
  operands[2] = x5;
  x6 = XEXP (x2, 1);
  operands[3] = x6;
  x7 = XEXP (x2, 2);
  operands[4] = x7;
  switch (GET_MODE (operands[0]))
    {
    case V16HImode:
      if (pattern76 (x2, V16HImode, HImode) != 0)
        return -1;
      if (nonimmediate_operand (operands[1], V16HImode)
          && nonmemory_operand (operands[2], DImode)
          && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10630 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 417 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))))
        return 3093; /* ashrv16hi3_mask */
      if (!register_operand (operands[1], V16HImode)
          || !nonimmediate_operand (operands[2], V16HImode)
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 18754 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 351 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
        return -1;
      return 4481; /* avx512vl_ashrvv16hi_mask */

    case V8HImode:
      if (pattern76 (x2, V8HImode, QImode) != 0)
        return -1;
      if (nonimmediate_operand (operands[1], V8HImode)
          && nonmemory_operand (operands[2], DImode)
          && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10630 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 417 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))))
        return 3095; /* ashrv8hi3_mask */
      if (!register_operand (operands[1], V8HImode)
          || !nonimmediate_operand (operands[2], V8HImode)
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 18754 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 351 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
        return -1;
      return 4479; /* avx512vl_ashrvv8hi_mask */

    case V8SImode:
      if (pattern76 (x2, V8SImode, QImode) != 0)
        return -1;
      if (nonimmediate_operand (operands[1], V8SImode)
          && nonmemory_operand (operands[2], DImode)
          && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 10630 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return 3097; /* ashrv8si3_mask */
      if (!register_operand (operands[1], V8SImode)
          || !nonimmediate_operand (operands[2], V8SImode)
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 18743 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL))))
        return -1;
      return 4469; /* avx2_ashrvv8si_mask */

    case V4SImode:
      if (pattern76 (x2, V4SImode, QImode) != 0)
        return -1;
      if (nonimmediate_operand (operands[1], V4SImode)
          && nonmemory_operand (operands[2], DImode)
          && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 10630 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return 3099; /* ashrv4si3_mask */
      if (!register_operand (operands[1], V4SImode)
          || !nonimmediate_operand (operands[2], V4SImode)
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 18743 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && (16 == 64 || TARGET_AVX512VL))))
        return -1;
      return 4467; /* avx2_ashrvv4si_mask */

    case V2DImode:
      if (pattern76 (x2, V2DImode, QImode) != 0)
        return -1;
      if (nonimmediate_operand (operands[1], V2DImode)
          && nonmemory_operand (operands[2], DImode)
          && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 10663 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return 3105; /* ashrv2di3_mask */
      if (!register_operand (operands[1], V2DImode)
          || !nonimmediate_operand (operands[2], V2DImode)
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 18743 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && (16 == 64 || TARGET_AVX512VL)) && 
#line 348 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
        return -1;
      return 4473; /* avx2_ashrvv2di_mask */

    case V32HImode:
      if (pattern76 (x2, V32HImode, SImode) != 0)
        return -1;
      if (nonimmediate_operand (operands[1], V32HImode)
          && nonmemory_operand (operands[2], DImode)
          && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10677 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 412 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))))
        return 3107; /* ashrv32hi3_mask */
      if (!register_operand (operands[1], V32HImode)
          || !nonimmediate_operand (operands[2], V32HImode)
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 18754 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
        return -1;
      return 4483; /* avx512bw_ashrvv32hi_mask */

    case V4DImode:
      if (pattern76 (x2, V4DImode, QImode) != 0)
        return -1;
      if (nonimmediate_operand (operands[1], V4DImode)
          && nonmemory_operand (operands[2], DImode)
          && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10677 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 413 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
        return 3109; /* ashrv4di3_mask */
      if (!register_operand (operands[1], V4DImode)
          || !nonimmediate_operand (operands[2], V4DImode)
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 18743 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL)) && 
#line 348 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
        return -1;
      return 4475; /* avx2_ashrvv4di_mask */

    case V16SImode:
      if (pattern76 (x2, V16SImode, HImode) != 0)
        return -1;
      if (nonimmediate_operand (operands[1], V16SImode)
          && nonmemory_operand (operands[2], DImode)
          && 
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
        return 3111; /* ashrv16si3_mask */
      if (!register_operand (operands[1], V16SImode)
          || !nonimmediate_operand (operands[2], V16SImode)
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 18743 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && (64 == 64 || TARGET_AVX512VL)) && 
#line 347 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
        return -1;
      return 4471; /* avx512f_ashrvv16si_mask */

    case V8DImode:
      if (pattern76 (x2, V8DImode, QImode) != 0)
        return -1;
      if (nonimmediate_operand (operands[1], V8DImode)
          && nonmemory_operand (operands[2], DImode)
          && 
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
        return 3113; /* ashrv8di3_mask */
      if (!register_operand (operands[1], V8DImode)
          || !nonimmediate_operand (operands[2], V8DImode)
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 18743 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && (64 == 64 || TARGET_AVX512VL)) && 
#line 348 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
        return -1;
      return 4477; /* avx512f_ashrvv8di_mask */

    default:
      return -1;
    }
}

static int
recog_100 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  operands[2] = x4;
  x5 = XEXP (x2, 1);
  operands[3] = x5;
  x6 = XEXP (x2, 2);
  operands[4] = x6;
  x7 = XEXP (x3, 0);
  switch (GET_CODE (x7))
    {
    case NOT:
      x8 = XEXP (x7, 0);
      operands[1] = x8;
      switch (GET_MODE (operands[0]))
        {
        case V8SFmode:
          if (pattern482 (x2, V8SFmode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 3023 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && TARGET_AVX512VL) && 
#line 230 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
            return -1;
          return 1730; /* avx_andnotv8sf3_mask */

        case V4SFmode:
          if (pattern482 (x2, V4SFmode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3023 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && TARGET_AVX512VL)))
            return -1;
          return 1732; /* sse_andnotv4sf3_mask */

        case V4DFmode:
          if (pattern482 (x2, V4DFmode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 3023 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && TARGET_AVX512VL) && 
#line 231 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
            return -1;
          return 1734; /* avx_andnotv4df3_mask */

        case V2DFmode:
          if (pattern482 (x2, V2DFmode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 3023 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && TARGET_AVX512VL) && 
#line 231 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))))
            return -1;
          return 1736; /* sse2_andnotv2df3_mask */

        case V16SFmode:
          if (pattern483 (x2, V16SFmode, HImode) != 0
              || !
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
            return -1;
          return 1738; /* avx512f_andnotv16sf3_mask */

        case V8DFmode:
          if (pattern483 (x2, V8DFmode, QImode) != 0
              || !
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
            return -1;
          return 1740; /* avx512f_andnotv8df3_mask */

        case V16SImode:
          if (pattern483 (x2, V16SImode, HImode) != 0
              || !
#line 11634 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 3408; /* *andnotv16si3_mask */

        case V8SImode:
          if (pattern483 (x2, V8SImode, QImode) != 0
              || !(
#line 11634 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 3409; /* *andnotv8si3_mask */

        case V4SImode:
          if (pattern483 (x2, V4SImode, QImode) != 0
              || !(
#line 11634 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 3410; /* *andnotv4si3_mask */

        case V8DImode:
          if (pattern483 (x2, V8DImode, QImode) != 0
              || !
#line 11634 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 3411; /* *andnotv8di3_mask */

        case V4DImode:
          if (pattern483 (x2, V4DImode, QImode) != 0
              || !(
#line 11634 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 3412; /* *andnotv4di3_mask */

        case V2DImode:
          if (pattern483 (x2, V2DImode, QImode) != 0
              || !(
#line 11634 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 3413; /* *andnotv2di3_mask */

        default:
          return -1;
        }

    case REG:
    case SUBREG:
    case MEM:
      operands[1] = x7;
      switch (GET_MODE (operands[0]))
        {
        case V8SFmode:
          if (pattern74 (x2, V8SFmode, QImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 3138 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && TARGET_AVX512VL
   && ix86_binary_operator_ok (AND, V8SFmode, operands)) && 
#line 230 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
            return -1;
          return 1742; /* *andv8sf3_mask */

        case V4SFmode:
          if (pattern74 (x2, V4SFmode, QImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3138 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && TARGET_AVX512VL
   && ix86_binary_operator_ok (AND, V4SFmode, operands))))
            return -1;
          return 1748; /* *andv4sf3_mask */

        case V4DFmode:
          if (pattern74 (x2, V4DFmode, QImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 3138 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && TARGET_AVX512VL
   && ix86_binary_operator_ok (AND, V4DFmode, operands)) && 
#line 231 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
            return -1;
          return 1754; /* *andv4df3_mask */

        case V2DFmode:
          if (pattern74 (x2, V2DFmode, QImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 3138 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && TARGET_AVX512VL
   && ix86_binary_operator_ok (AND, V2DFmode, operands)) && 
#line 231 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))))
            return -1;
          return 1760; /* *andv2df3_mask */

        case V16SFmode:
          if (pattern75 (x2, V16SFmode, HImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3203 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (AND, V16SFmode, operands))))
            return -1;
          return 1766; /* *andv16sf3_mask */

        case V8DFmode:
          if (pattern75 (x2, V8DFmode, QImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3203 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (AND, V8DFmode, operands))))
            return -1;
          return 1772; /* *andv8df3_mask */

        case V16SImode:
          if (pattern74 (x2, V16SImode, HImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11656 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && (64 == 64 || TARGET_AVX512VL)
   && ix86_binary_operator_ok (AND, V16SImode, operands)) && 
#line 425 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
            return -1;
          return 3415; /* andv16si3_mask */

        case V8SImode:
          if (pattern74 (x2, V8SImode, QImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11656 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && (32 == 64 || TARGET_AVX512VL)
   && ix86_binary_operator_ok (AND, V8SImode, operands)) && 
#line 425 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
            return -1;
          return 3421; /* andv8si3_mask */

        case V4SImode:
          if (pattern74 (x2, V4SImode, QImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 11656 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && (16 == 64 || TARGET_AVX512VL)
   && ix86_binary_operator_ok (AND, V4SImode, operands))))
            return -1;
          return 3427; /* andv4si3_mask */

        case V8DImode:
          if (pattern74 (x2, V8DImode, QImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11656 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && (64 == 64 || TARGET_AVX512VL)
   && ix86_binary_operator_ok (AND, V8DImode, operands)) && 
#line 426 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
            return -1;
          return 3433; /* andv8di3_mask */

        case V4DImode:
          if (pattern74 (x2, V4DImode, QImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11656 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && (32 == 64 || TARGET_AVX512VL)
   && ix86_binary_operator_ok (AND, V4DImode, operands)) && 
#line 426 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
            return -1;
          return 3439; /* andv4di3_mask */

        case V2DImode:
          if (pattern74 (x2, V2DImode, QImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 11656 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && (16 == 64 || TARGET_AVX512VL)
   && ix86_binary_operator_ok (AND, V2DImode, operands))))
            return -1;
          return 3445; /* andv2di3_mask */

        case V64QImode:
          if (pattern74 (x2, V64QImode, DImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11754 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (AND, V64QImode, operands)) && 
#line 429 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
            return -1;
          return 3451; /* *andv64qi3 */

        case V32QImode:
          if (pattern74 (x2, V32QImode, SImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11754 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (AND, V32QImode, operands)) && 
#line 429 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
            return -1;
          return 3457; /* *andv32qi3 */

        case V16QImode:
          if (pattern74 (x2, V16QImode, HImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 11754 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (AND, V16QImode, operands))))
            return -1;
          return 3463; /* *andv16qi3 */

        case V32HImode:
          if (pattern74 (x2, V32HImode, SImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11754 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (AND, V32HImode, operands)) && 
#line 430 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
            return -1;
          return 3469; /* *andv32hi3 */

        case V16HImode:
          if (pattern74 (x2, V16HImode, HImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11754 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (AND, V16HImode, operands)) && 
#line 430 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
            return -1;
          return 3475; /* *andv16hi3 */

        case V8HImode:
          if (pattern74 (x2, V8HImode, QImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 11754 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (AND, V8HImode, operands))))
            return -1;
          return 3481; /* *andv8hi3 */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_101 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
      switch (pattern88 (x2))
        {
        case 0:
          if (!
#line 9144 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2737; /* avx512f_truncatev16siv16qi2_mask */

        case 1:
          if (!(
#line 9217 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 9195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 2770; /* avx512vl_truncatev16hiv16qi2_mask */

        case 2:
          if (!
#line 9144 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2740; /* avx512f_truncatev16siv16hi2_mask */

        case 3:
          if (!
#line 9144 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2743; /* avx512f_truncatev8div8si2_mask */

        case 4:
          if (!
#line 9144 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2746; /* avx512f_truncatev8div8hi2_mask */

        case 5:
          if (!
#line 9217 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2767; /* avx512vl_truncatev8siv8hi2_mask */

        case 6:
          if (!
#line 9178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
            return -1;
          return 2752; /* avx512bw_truncatev32hiv32qi2_mask */

        case 7:
          if (!
#line 9217 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2764; /* avx512vl_truncatev4div4si2_mask */

        default:
          return -1;
        }

    case LSHIFTRT:
      x5 = XEXP (x4, 1);
      if (GET_CODE (x5) != CONST_INT)
        return -1;
      x6 = XEXP (x4, 0);
      switch (GET_CODE (x6))
        {
        case MULT:
          if (XWINT (x5, 0) != 16LL)
            return -1;
          x7 = XEXP (x2, 1);
          operands[3] = x7;
          x8 = XEXP (x2, 2);
          operands[4] = x8;
          x9 = XEXP (x6, 0);
          switch (GET_CODE (x9))
            {
            case SIGN_EXTEND:
              switch (pattern537 (x2, SIGN_EXTEND))
                {
                case 0:
                  if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10058 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (MULT, V32HImode, operands)
   && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) && 
#line 329 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))))
                    return -1;
                  return 3049; /* *smulv32hi3_highpart_mask */

                case 1:
                  if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10058 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (MULT, V16HImode, operands)
   && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) && 
#line 329 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))))
                    return -1;
                  return 3053; /* *smulv16hi3_highpart_mask */

                case 2:
                  if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 10058 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (MULT, V8HImode, operands)
   && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW)))
                    return -1;
                  return 3057; /* *smulv8hi3_highpart_mask */

                default:
                  return -1;
                }

            case ZERO_EXTEND:
              switch (pattern537 (x2, ZERO_EXTEND))
                {
                case 0:
                  if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10058 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (MULT, V32HImode, operands)
   && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) && 
#line 329 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))))
                    return -1;
                  return 3051; /* *umulv32hi3_highpart_mask */

                case 1:
                  if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10058 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (MULT, V16HImode, operands)
   && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) && 
#line 329 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))))
                    return -1;
                  return 3055; /* *umulv16hi3_highpart_mask */

                case 2:
                  if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 10058 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (MULT, V8HImode, operands)
   && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW)))
                    return -1;
                  return 3059; /* *umulv8hi3_highpart_mask */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case PLUS:
          if (XWINT (x5, 0) != 1LL)
            return -1;
          x9 = XEXP (x6, 0);
          switch (GET_CODE (x9))
            {
            case PLUS:
              x10 = XEXP (x9, 0);
              if (GET_CODE (x10) != ZERO_EXTEND)
                return -1;
              x11 = XEXP (x9, 1);
              if (GET_CODE (x11) != ZERO_EXTEND)
                return -1;
              x12 = XEXP (x10, 0);
              operands[1] = x12;
              x13 = XEXP (x11, 0);
              operands[2] = x13;
              x14 = XEXP (x6, 1);
              operands[5] = x14;
              x7 = XEXP (x2, 1);
              operands[3] = x7;
              x8 = XEXP (x2, 2);
              operands[4] = x8;
              switch (GET_MODE (operands[0]))
                {
                case V64QImode:
                  if (pattern758 (x2, DImode, V64QImode, V64HImode) != 0
                      || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 14019 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
   && ix86_binary_operator_ok (PLUS, V64QImode, operands)) && 
#line 382 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))))
                    return -1;
                  return 3674; /* *avx512bw_uavgv64qi3_mask */

                case V32QImode:
                  if (pattern758 (x2, SImode, V32QImode, V32HImode) != 0
                      || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 14019 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
   && ix86_binary_operator_ok (PLUS, V32QImode, operands)) && 
#line 382 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))))
                    return -1;
                  return 3676; /* *avx2_uavgv32qi3_mask */

                case V16QImode:
                  if (pattern758 (x2, HImode, V16QImode, V16HImode) != 0
                      || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 14019 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
   && ix86_binary_operator_ok (PLUS, V16QImode, operands))))
                    return -1;
                  return 3678; /* *sse2_uavgv16qi3_mask */

                case V32HImode:
                  if (pattern758 (x2, SImode, V32HImode, V32SImode) != 0
                      || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 14019 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
   && ix86_binary_operator_ok (PLUS, V32HImode, operands)) && 
#line 383 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))))
                    return -1;
                  return 3680; /* *avx512bw_uavgv32hi3_mask */

                case V16HImode:
                  if (pattern758 (x2, HImode, V16HImode, V16SImode) != 0
                      || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 14019 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
   && ix86_binary_operator_ok (PLUS, V16HImode, operands)) && 
#line 383 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))))
                    return -1;
                  return 3682; /* *avx2_uavgv16hi3_mask */

                case V8HImode:
                  if (pattern758 (x2, QImode, V8HImode, V8SImode) != 0
                      || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 14019 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
   && ix86_binary_operator_ok (PLUS, V8HImode, operands))))
                    return -1;
                  return 3684; /* *sse2_uavgv8hi3_mask */

                default:
                  return -1;
                }

            case LSHIFTRT:
              x10 = XEXP (x9, 0);
              if (GET_CODE (x10) != MULT)
                return -1;
              x12 = XEXP (x10, 0);
              if (GET_CODE (x12) != SIGN_EXTEND)
                return -1;
              x15 = XEXP (x10, 1);
              if (GET_CODE (x15) != SIGN_EXTEND)
                return -1;
              x11 = XEXP (x9, 1);
              if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 14])
                return -1;
              x16 = XEXP (x12, 0);
              operands[1] = x16;
              if (nonimmediate_operand (operands[1], V32HImode))
                {
                  res = recog_92 (x1, insn, pnum_clobbers);
                  if (res >= 0)
                    return res;
                }
              x17 = XEXP (x15, 0);
              operands[2] = x17;
              x14 = XEXP (x6, 1);
              operands[3] = x14;
              x7 = XEXP (x2, 1);
              operands[4] = x7;
              x8 = XEXP (x2, 2);
              operands[5] = x8;
              switch (GET_MODE (operands[0]))
                {
                case V32HImode:
                  if (pattern807 (x2, SImode, V32HImode, V32SImode) != 0
                      || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 14693 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
   && ix86_binary_operator_ok (MULT, V32HImode, operands)) && 
#line 329 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))))
                    return -1;
                  return 3738; /* *avx512bw_pmulhrswv32hi3_mask */

                case V16HImode:
                  if (pattern807 (x2, HImode, V16HImode, V16SImode) != 0
                      || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 14693 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
   && ix86_binary_operator_ok (MULT, V16HImode, operands)) && 
#line 329 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))))
                    return -1;
                  return 3740; /* *avx2_pmulhrswv16hi3_mask */

                case V8HImode:
                  if (pattern807 (x2, QImode, V8HImode, V8SImode) != 0
                      || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 14693 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
   && ix86_binary_operator_ok (MULT, V8HImode, operands))))
                    return -1;
                  return 3742; /* *ssse3_pmulhrswv8hi3_mask */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_102 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  switch (GET_CODE (x3))
    {
    case CONST_INT:
    case CONST_DOUBLE:
    case CONST_VECTOR:
    case REG:
    case SUBREG:
    case MEM:
      x4 = XEXP (x2, 2);
      switch (GET_CODE (x4))
        {
        case REG:
        case SUBREG:
          return recog_70 (x1, insn, pnum_clobbers);

        case CONST_INT:
          x5 = XEXP (x2, 0);
          operands[2] = x5;
          operands[1] = x3;
          if (XWINT (x4, 0) == 1LL)
            {
              switch (GET_MODE (operands[0]))
                {
                case V4SFmode:
                  if (register_operand (operands[0], V4SFmode)
                      && GET_MODE (x2) == V4SFmode
                      && register_operand (operands[2], V4SFmode)
                      && register_operand (operands[1], V4SFmode)
                      && 
#line 6752 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE))
                    return 2441; /* sse_movss */
                  break;

                case V2DFmode:
                  if (nonimmediate_operand (operands[0], V2DFmode)
                      && GET_MODE (x2) == V2DFmode
                      && nonimmediate_operand (operands[2], V2DFmode)
                      && nonimmediate_operand (operands[1], V2DFmode)
                      && 
#line 9010 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))
                    return 2720; /* sse2_movsd */
                  break;

                default:
                  break;
                }
            }
          operands[3] = x4;
          switch (GET_MODE (operands[0]))
            {
            case V8SFmode:
              if (pattern473 (x2, V8SFmode) != 0
                  || !(
#line 15025 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1) && 
#line 230 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
                return -1;
              return 3802; /* avx_blendps256 */

            case V4SFmode:
              if (pattern474 (x2, V4SFmode) != 0
                  || !
#line 15025 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1))
                return -1;
              return 3803; /* sse4_1_blendps */

            case V4DFmode:
              if (pattern474 (x2, V4DFmode) != 0
                  || !(
#line 15025 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1) && 
#line 231 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
                return -1;
              return 3804; /* avx_blendpd256 */

            case V2DFmode:
              if (!register_operand (operands[0], V2DFmode)
                  || GET_MODE (x2) != V2DFmode
                  || !vector_operand (operands[2], V2DFmode)
                  || !register_operand (operands[1], V2DFmode)
                  || !const_0_to_3_operand (operands[3], SImode)
                  || !(
#line 15025 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1) && 
#line 231 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
                return -1;
              return 3805; /* sse4_1_blendpd */

            case V8HImode:
              if (pattern473 (x2, V8HImode) != 0
                  || !
#line 15163 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1))
                return -1;
              return 3827; /* sse4_1_pblendw */

            case V16HImode:
              if (!register_operand (operands[0], V16HImode)
                  || GET_MODE (x2) != V16HImode
                  || !nonimmediate_operand (operands[2], V16HImode)
                  || !register_operand (operands[1], V16HImode)
                  || !avx2_pblendw_operand (operands[3], SImode)
                  || !
#line 15194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))
                return -1;
              return 3828; /* *avx2_pblendw */

            case V8SImode:
              if (pattern475 (x2, V8SImode) != 0
                  || !
#line 15211 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))
                return -1;
              return 3829; /* avx2_pblenddv8si */

            case V4SImode:
              if (pattern475 (x2, V4SImode) != 0
                  || !
#line 15211 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))
                return -1;
              return 3830; /* avx2_pblenddv4si */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case VEC_DUPLICATE:
      x5 = XEXP (x2, 0);
      operands[1] = x5;
      x6 = XEXP (x3, 0);
      operands[2] = x6;
      x4 = XEXP (x2, 2);
      operands[3] = x4;
      if (!const_int_operand (operands[3], SImode))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case V8DFmode:
          if (pattern476 (x2, V2DFmode, V8DFmode) != 0
              || !(
#line 12548 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 7127 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ)))
            return -1;
          return 3592; /* *avx512dq_vinsertf64x2_1 */

        case V8DImode:
          if (pattern476 (x2, V2DImode, V8DImode) != 0
              || !(
#line 12548 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 7127 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ)))
            return -1;
          return 3594; /* *avx512dq_vinserti64x2_1 */

        case V16SFmode:
          if (pattern476 (x2, V4SFmode, V16SFmode) != 0
              || !
#line 12548 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 3596; /* *avx512f_vinsertf32x4_1 */

        case V16SImode:
          if (pattern476 (x2, V4SImode, V16SImode) != 0
              || !
#line 12548 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 3598; /* *avx512f_vinserti32x4_1 */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_103 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
    case MEM:
      operands[1] = x4;
      x5 = XEXP (x3, 1);
      operands[2] = x5;
      x6 = XEXP (x2, 2);
      switch (GET_CODE (x6))
        {
        case REG:
        case SUBREG:
          operands[4] = x6;
          x7 = XEXP (x2, 1);
          operands[3] = x7;
          switch (GET_MODE (operands[0]))
            {
            case V16SFmode:
              if (pattern74 (x2, V16SFmode, HImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1600 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MULT, V16SFmode, operands) && (64 == 64 || TARGET_AVX512VL) && 1) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
                return -1;
              return 1407; /* *mulv16sf3_mask */

            case V8SFmode:
              if (pattern74 (x2, V8SFmode, QImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1600 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MULT, V8SFmode, operands) && (32 == 64 || TARGET_AVX512VL) && 1) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
                return -1;
              return 1411; /* *mulv8sf3_mask */

            case V4SFmode:
              if (pattern74 (x2, V4SFmode, QImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 1600 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MULT, V4SFmode, operands) && (16 == 64 || TARGET_AVX512VL) && 1)))
                return -1;
              return 1415; /* *mulv4sf3_mask */

            case V8DFmode:
              if (pattern74 (x2, V8DFmode, QImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1600 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MULT, V8DFmode, operands) && (64 == 64 || TARGET_AVX512VL) && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
                return -1;
              return 1419; /* *mulv8df3_mask */

            case V4DFmode:
              if (pattern74 (x2, V4DFmode, QImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1600 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MULT, V4DFmode, operands) && (32 == 64 || TARGET_AVX512VL) && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
                return -1;
              return 1423; /* *mulv4df3_mask */

            case V2DFmode:
              if (pattern74 (x2, V2DFmode, QImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1600 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MULT, V2DFmode, operands) && (16 == 64 || TARGET_AVX512VL) && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))))
                return -1;
              return 1427; /* *mulv2df3_mask */

            case V32HImode:
              if (pattern74 (x2, V32HImode, SImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10022 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (MULT, V32HImode, operands)
   && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) && 
#line 329 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))))
                return -1;
              return 3043; /* *mulv32hi3_mask */

            case V16HImode:
              if (pattern74 (x2, V16HImode, HImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10022 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (MULT, V16HImode, operands)
   && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) && 
#line 329 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))))
                return -1;
              return 3045; /* *mulv16hi3_mask */

            case V8HImode:
              if (pattern74 (x2, V8HImode, QImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 10022 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (MULT, V8HImode, operands)
   && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW)))
                return -1;
              return 3047; /* *mulv8hi3_mask */

            case V8DImode:
              if (pattern77 (x2, V8DImode, QImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10457 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && (64 == 64 || TARGET_AVX512VL)) && 
#line 314 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
                return -1;
              return 3081; /* avx512dq_mulv8di3_mask */

            case V4DImode:
              if (pattern77 (x2, V4DImode, QImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10457 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && (32 == 64 || TARGET_AVX512VL)) && 
#line 314 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
                return -1;
              return 3083; /* avx512dq_mulv4di3_mask */

            case V2DImode:
              if (pattern77 (x2, V2DImode, QImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 10457 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && (16 == 64 || TARGET_AVX512VL))))
                return -1;
              return 3085; /* avx512dq_mulv2di3_mask */

            case V16SImode:
              if (pattern74 (x2, V16SImode, HImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10490 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1 && ix86_binary_operator_ok (MULT, V16SImode, operands) && (64 == 64 || TARGET_AVX512VL)) && 
#line 341 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
                return -1;
              return 3087; /* *avx512f_mulv16si3_mask */

            case V8SImode:
              if (pattern74 (x2, V8SImode, QImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10490 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1 && ix86_binary_operator_ok (MULT, V8SImode, operands) && (32 == 64 || TARGET_AVX512VL)) && 
#line 341 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))))
                return -1;
              return 3089; /* *avx2_mulv8si3_mask */

            case V4SImode:
              if (pattern74 (x2, V4SImode, QImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 10490 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1 && ix86_binary_operator_ok (MULT, V4SImode, operands) && (16 == 64 || TARGET_AVX512VL))))
                return -1;
              return 3091; /* *sse4_1_mulv4si3_mask */

            default:
              return -1;
            }

        case CONST_INT:
          switch (pattern79 (x2))
            {
            case 0:
              if (!
#line 1618 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE))
                return -1;
              return 1429; /* sse_vmmulv4sf3 */

            case 1:
              if (!(
#line 1618 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
                return -1;
              return 1433; /* sse2_vmmulv2df3 */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case ZERO_EXTEND:
      switch (pattern161 (x2, ZERO_EXTEND))
        {
        case 0:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 10107 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (MULT, V16SImode, operands))))
            return -1;
          return 3061; /* *vec_widen_umult_even_v16si_mask */

        case 1:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 10144 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && TARGET_AVX512VL
   && ix86_binary_operator_ok (MULT, V8SImode, operands))))
            return -1;
          return 3063; /* *vec_widen_umult_even_v8si_mask */

        case 2:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 10176 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && TARGET_AVX512VL
   && ix86_binary_operator_ok (MULT, V4SImode, operands))))
            return -1;
          return 3065; /* *vec_widen_umult_even_v4si_mask */

        default:
          return -1;
        }

    case SIGN_EXTEND:
      switch (pattern161 (x2, SIGN_EXTEND))
        {
        case 0:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 10224 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (MULT, V16SImode, operands))))
            return -1;
          return 3067; /* *vec_widen_smult_even_v16si_mask */

        case 1:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 10261 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2
   && ix86_binary_operator_ok (MULT, V8SImode, operands))))
            return -1;
          return 3069; /* *vec_widen_smult_even_v8si_mask */

        case 2:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 10294 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1 && TARGET_AVX512VL
   && ix86_binary_operator_ok (MULT, V4SImode, operands))))
            return -1;
          return 3071; /* *sse4_1_mulv2siv2di3_mask */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_104 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (pattern91 (x2))
    {
    case 0:
      if (nonmemory_operand (operands[2], DImode)
          && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10691 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) && 
#line 400 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))))
        return 3115; /* ashlv32hi3_mask */
      if (!nonimmediate_operand (operands[2], V32HImode)
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 18776 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
        return -1;
      return 4517; /* avx512bw_ashlvv32hi_mask */

    case 1:
      if (nonmemory_operand (operands[2], DImode)
          && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10691 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) && 
#line 400 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))))
        return 3119; /* ashlv16hi3_mask */
      if (!nonimmediate_operand (operands[2], V16HImode)
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 18776 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 351 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
        return -1;
      return 4513; /* avx512vl_ashlvv16hi_mask */

    case 2:
      if (nonmemory_operand (operands[2], DImode)
          && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 10691 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW)))
        return 3123; /* ashlv8hi3_mask */
      if (!nonimmediate_operand (operands[2], V8HImode)
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 18776 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 351 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
        return -1;
      return 4509; /* avx512vl_ashlvv8hi_mask */

    case 3:
      if (nonmemory_operand (operands[2], DImode)
          && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10710 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (32 == 64 || TARGET_AVX512VL)) && 
#line 403 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))))
        return 3127; /* ashlv8si3_mask */
      if (!nonimmediate_operand (operands[2], V8SImode)
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 18765 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL))))
        return -1;
      return 4489; /* avx2_ashlvv8si_mask */

    case 4:
      if (nonmemory_operand (operands[2], DImode)
          && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 10710 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (16 == 64 || TARGET_AVX512VL))))
        return 3131; /* ashlv4si3_mask */
      if (!nonimmediate_operand (operands[2], V4SImode)
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 18765 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && (16 == 64 || TARGET_AVX512VL))))
        return -1;
      return 4493; /* avx2_ashlvv4si_mask */

    case 5:
      if (nonmemory_operand (operands[2], DImode)
          && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10710 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (32 == 64 || TARGET_AVX512VL)) && 
#line 404 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))))
        return 3135; /* ashlv4di3_mask */
      if (!nonimmediate_operand (operands[2], V4DImode)
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 18765 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL))))
        return -1;
      return 4501; /* avx2_ashlvv4di_mask */

    case 6:
      if (nonmemory_operand (operands[2], DImode)
          && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 10710 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (16 == 64 || TARGET_AVX512VL))))
        return 3139; /* ashlv2di3_mask */
      if (!nonimmediate_operand (operands[2], V2DImode)
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 18765 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && (16 == 64 || TARGET_AVX512VL))))
        return -1;
      return 4505; /* avx2_ashlvv2di_mask */

    case 7:
      if (nonimmediate_operand (operands[1], V16SImode)
          && nonmemory_operand (operands[2], DImode)
          && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 10730 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL))))
        return 3143; /* ashlv16si3_mask */
      if (!register_operand (operands[1], V16SImode)
          || !nonimmediate_operand (operands[2], V16SImode)
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 18765 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && (64 == 64 || TARGET_AVX512VL)) && 
#line 421 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
        return -1;
      return 4485; /* avx512f_ashlvv16si_mask */

    case 8:
      if (nonimmediate_operand (operands[1], V8DImode)
          && nonmemory_operand (operands[2], DImode)
          && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 10730 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL))))
        return 3147; /* ashlv8di3_mask */
      if (!register_operand (operands[1], V8DImode)
          || !nonimmediate_operand (operands[2], V8DImode)
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 18765 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && (64 == 64 || TARGET_AVX512VL)) && 
#line 422 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
        return -1;
      return 4497; /* avx512f_ashlvv8di_mask */

    default:
      return -1;
    }
}

static int
recog_105 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (pattern91 (x2))
    {
    case 0:
      if (nonmemory_operand (operands[2], DImode)
          && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10691 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) && 
#line 400 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))))
        return 3117; /* lshrv32hi3_mask */
      if (!nonimmediate_operand (operands[2], V32HImode)
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 18776 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
        return -1;
      return 4519; /* avx512bw_lshrvv32hi_mask */

    case 1:
      if (nonmemory_operand (operands[2], DImode)
          && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10691 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) && 
#line 400 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))))
        return 3121; /* lshrv16hi3_mask */
      if (!nonimmediate_operand (operands[2], V16HImode)
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 18776 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 351 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
        return -1;
      return 4515; /* avx512vl_lshrvv16hi_mask */

    case 2:
      if (nonmemory_operand (operands[2], DImode)
          && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 10691 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW)))
        return 3125; /* lshrv8hi3_mask */
      if (!nonimmediate_operand (operands[2], V8HImode)
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 18776 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 351 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
        return -1;
      return 4511; /* avx512vl_lshrvv8hi_mask */

    case 3:
      if (nonmemory_operand (operands[2], DImode)
          && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10710 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (32 == 64 || TARGET_AVX512VL)) && 
#line 403 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))))
        return 3129; /* lshrv8si3_mask */
      if (!nonimmediate_operand (operands[2], V8SImode)
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 18765 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL))))
        return -1;
      return 4491; /* avx2_lshrvv8si_mask */

    case 4:
      if (nonmemory_operand (operands[2], DImode)
          && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 10710 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (16 == 64 || TARGET_AVX512VL))))
        return 3133; /* lshrv4si3_mask */
      if (!nonimmediate_operand (operands[2], V4SImode)
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 18765 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && (16 == 64 || TARGET_AVX512VL))))
        return -1;
      return 4495; /* avx2_lshrvv4si_mask */

    case 5:
      if (nonmemory_operand (operands[2], DImode)
          && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10710 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (32 == 64 || TARGET_AVX512VL)) && 
#line 404 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))))
        return 3137; /* lshrv4di3_mask */
      if (!nonimmediate_operand (operands[2], V4DImode)
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 18765 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL))))
        return -1;
      return 4503; /* avx2_lshrvv4di_mask */

    case 6:
      if (nonmemory_operand (operands[2], DImode)
          && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 10710 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (16 == 64 || TARGET_AVX512VL))))
        return 3141; /* lshrv2di3_mask */
      if (!nonimmediate_operand (operands[2], V2DImode)
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 18765 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && (16 == 64 || TARGET_AVX512VL))))
        return -1;
      return 4507; /* avx2_lshrvv2di_mask */

    case 7:
      if (nonimmediate_operand (operands[1], V16SImode)
          && nonmemory_operand (operands[2], DImode)
          && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 10730 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL))))
        return 3145; /* lshrv16si3_mask */
      if (!register_operand (operands[1], V16SImode)
          || !nonimmediate_operand (operands[2], V16SImode)
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 18765 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && (64 == 64 || TARGET_AVX512VL)) && 
#line 421 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
        return -1;
      return 4487; /* avx512f_lshrvv16si_mask */

    case 8:
      if (nonimmediate_operand (operands[1], V8DImode)
          && nonmemory_operand (operands[2], DImode)
          && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 10730 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL))))
        return 3149; /* lshrv8di3_mask */
      if (!register_operand (operands[1], V8DImode)
          || !nonimmediate_operand (operands[2], V8DImode)
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 18765 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && (64 == 64 || TARGET_AVX512VL)) && 
#line 422 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
        return -1;
      return 4499; /* avx512f_lshrvv8di_mask */

    default:
      return -1;
    }
}

static int
recog_106 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (pattern80 (x2))
    {
    case 0:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (SMIN, V16SFmode, operands)
   && (64 == 64 || TARGET_AVX512VL) && 1) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
        return -1;
      return 1513; /* *sminv16sf3_mask */

    case 1:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (SMIN, V8SFmode, operands)
   && (32 == 64 || TARGET_AVX512VL) && 1) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
        return -1;
      return 1521; /* *sminv8sf3_mask */

    case 2:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 1878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (SMIN, V4SFmode, operands)
   && (16 == 64 || TARGET_AVX512VL) && 1)))
        return -1;
      return 1529; /* *sminv4sf3_mask */

    case 3:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (SMIN, V8DFmode, operands)
   && (64 == 64 || TARGET_AVX512VL) && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
        return -1;
      return 1537; /* *sminv8df3_mask */

    case 4:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (SMIN, V4DFmode, operands)
   && (32 == 64 || TARGET_AVX512VL) && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
        return -1;
      return 1545; /* *sminv4df3_mask */

    case 5:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (SMIN, V2DFmode, operands)
   && (16 == 64 || TARGET_AVX512VL) && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))))
        return -1;
      return 1553; /* *sminv2df3_mask */

    case 6:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 10877 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (SMIN, V16SImode, operands))))
        return -1;
      return 3219; /* *avx512f_sminv16si3_mask */

    case 7:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10877 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (SMIN, V8SImode, operands)) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
        return -1;
      return 3227; /* *avx512f_sminv8si3_mask */

    case 8:
      if (nonimmediate_operand (operands[1], V4SImode)
          && nonimmediate_operand (operands[2], V4SImode)
          && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10877 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (SMIN, V4SImode, operands)) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
        return 3235; /* *avx512f_sminv4si3_mask */
      if (!vector_operand (operands[1], V4SImode)
          || !vector_operand (operands[2], V4SImode)
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 10981 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1
   && (16 == 64 || TARGET_AVX512VL)
   && ix86_binary_operator_ok (SMIN, V4SImode, operands))))
        return -1;
      return 3319; /* *sse4_1_sminv4si3_mask */

    case 9:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 10877 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (SMIN, V8DImode, operands))))
        return -1;
      return 3243; /* *avx512f_sminv8di3_mask */

    case 10:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10877 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (SMIN, V4DImode, operands)) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
        return -1;
      return 3251; /* *avx512f_sminv4di3_mask */

    case 11:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10877 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (SMIN, V2DImode, operands)) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
        return -1;
      return 3259; /* *avx512f_sminv2di3_mask */

    case 12:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 10889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
        return -1;
      return 3267; /* sminv64qi3_mask */

    case 13:
      if (register_operand (operands[1], V16QImode)
          && nonimmediate_operand (operands[2], V16QImode)
          && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
        return 3275; /* sminv16qi3_mask */
      if (!vector_operand (operands[1], V16QImode)
          || !vector_operand (operands[2], V16QImode)
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 10981 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1
   && (16 == 64 || TARGET_AVX512VL)
   && ix86_binary_operator_ok (SMIN, V16QImode, operands))))
        return -1;
      return 3315; /* *sse4_1_sminv16qi3_mask */

    case 14:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
        return -1;
      return 3283; /* sminv32qi3_mask */

    case 15:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 10889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
        return -1;
      return 3291; /* sminv32hi3_mask */

    case 16:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
        return -1;
      return 3299; /* sminv16hi3_mask */

    case 17:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
        return -1;
      return 3307; /* sminv8hi3_mask */

    case 18:
      if (!
#line 1920 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE))
        return -1;
      return 1589; /* sse_vmsminv4sf3 */

    case 19:
      if (!(
#line 1920 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
        return -1;
      return 1593; /* sse2_vmsminv2df3 */

    default:
      return -1;
    }
}

static int
recog_107 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (pattern80 (x2))
    {
    case 0:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (SMAX, V16SFmode, operands)
   && (64 == 64 || TARGET_AVX512VL) && 1) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
        return -1;
      return 1509; /* *smaxv16sf3_mask */

    case 1:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (SMAX, V8SFmode, operands)
   && (32 == 64 || TARGET_AVX512VL) && 1) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
        return -1;
      return 1517; /* *smaxv8sf3_mask */

    case 2:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 1878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (SMAX, V4SFmode, operands)
   && (16 == 64 || TARGET_AVX512VL) && 1)))
        return -1;
      return 1525; /* *smaxv4sf3_mask */

    case 3:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (SMAX, V8DFmode, operands)
   && (64 == 64 || TARGET_AVX512VL) && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
        return -1;
      return 1533; /* *smaxv8df3_mask */

    case 4:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (SMAX, V4DFmode, operands)
   && (32 == 64 || TARGET_AVX512VL) && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
        return -1;
      return 1541; /* *smaxv4df3_mask */

    case 5:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (SMAX, V2DFmode, operands)
   && (16 == 64 || TARGET_AVX512VL) && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))))
        return -1;
      return 1549; /* *smaxv2df3_mask */

    case 6:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 10877 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (SMAX, V16SImode, operands))))
        return -1;
      return 3217; /* *avx512f_smaxv16si3_mask */

    case 7:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10877 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (SMAX, V8SImode, operands)) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
        return -1;
      return 3225; /* *avx512f_smaxv8si3_mask */

    case 8:
      if (nonimmediate_operand (operands[1], V4SImode)
          && nonimmediate_operand (operands[2], V4SImode)
          && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10877 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (SMAX, V4SImode, operands)) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
        return 3233; /* *avx512f_smaxv4si3_mask */
      if (!vector_operand (operands[1], V4SImode)
          || !vector_operand (operands[2], V4SImode)
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 10981 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1
   && (16 == 64 || TARGET_AVX512VL)
   && ix86_binary_operator_ok (SMAX, V4SImode, operands))))
        return -1;
      return 3317; /* *sse4_1_smaxv4si3_mask */

    case 9:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 10877 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (SMAX, V8DImode, operands))))
        return -1;
      return 3241; /* *avx512f_smaxv8di3_mask */

    case 10:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10877 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (SMAX, V4DImode, operands)) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
        return -1;
      return 3249; /* *avx512f_smaxv4di3_mask */

    case 11:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10877 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (SMAX, V2DImode, operands)) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
        return -1;
      return 3257; /* *avx512f_smaxv2di3_mask */

    case 12:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 10889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
        return -1;
      return 3265; /* smaxv64qi3_mask */

    case 13:
      if (register_operand (operands[1], V16QImode)
          && nonimmediate_operand (operands[2], V16QImode)
          && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
        return 3273; /* smaxv16qi3_mask */
      if (!vector_operand (operands[1], V16QImode)
          || !vector_operand (operands[2], V16QImode)
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 10981 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1
   && (16 == 64 || TARGET_AVX512VL)
   && ix86_binary_operator_ok (SMAX, V16QImode, operands))))
        return -1;
      return 3313; /* *sse4_1_smaxv16qi3_mask */

    case 14:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
        return -1;
      return 3281; /* smaxv32qi3_mask */

    case 15:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 10889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
        return -1;
      return 3289; /* smaxv32hi3_mask */

    case 16:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
        return -1;
      return 3297; /* smaxv16hi3_mask */

    case 17:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
        return -1;
      return 3305; /* smaxv8hi3_mask */

    case 18:
      if (!
#line 1920 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE))
        return -1;
      return 1587; /* sse_vmsmaxv4sf3 */

    case 19:
      if (!(
#line 1920 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
        return -1;
      return 1591; /* sse2_vmsmaxv2df3 */

    default:
      return -1;
    }
}

static int
recog_108 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case UNSPEC:
      if (XVECLEN (x4, 0) != 4
          || XINT (x4, 1) != 158)
        return -1;
      x5 = XEXP (x3, 2);
      if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
        return -1;
      x6 = XVECEXP (x4, 0, 0);
      operands[1] = x6;
      x7 = XVECEXP (x4, 0, 1);
      operands[2] = x7;
      x8 = XVECEXP (x4, 0, 2);
      operands[3] = x8;
      x9 = XVECEXP (x4, 0, 3);
      operands[4] = x9;
      if (!const_0_to_255_operand (operands[4], SImode))
        return -1;
      x10 = XEXP (x2, 2);
      if (!register_operand (x10, QImode))
        return -1;
      x11 = XEXP (x3, 1);
      if (!rtx_equal_p (x11, operands[1]))
        return -1;
      x12 = XEXP (x2, 1);
      switch (GET_CODE (x12))
        {
        case CONST_INT:
        case CONST_DOUBLE:
        case CONST_VECTOR:
          operands[5] = x12;
          operands[6] = x10;
          switch (GET_MODE (operands[0]))
            {
            case V4SFmode:
              if (pattern805 (x2, V4SFmode, V4SImode) != 0
                  || !
#line 8391 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return -1;
              return 2655; /* avx512f_sfixupimmv4sf_maskz_1 */

            case V2DFmode:
              if (pattern805 (x2, V2DFmode, V2DImode) != 0
                  || !(
#line 8391 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
                return -1;
              return 2659; /* avx512f_sfixupimmv2df_maskz_1 */

            default:
              return -1;
            }

        case REG:
        case SUBREG:
          if (!rtx_equal_p (x12, operands[1]))
            return -1;
          operands[5] = x10;
          switch (GET_MODE (operands[0]))
            {
            case V4SFmode:
              if (pattern806 (x2, V4SImode, V4SFmode) != 0
                  || !
#line 8410 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return -1;
              return 2661; /* avx512f_sfixupimmv4sf_mask */

            case V2DFmode:
              if (pattern806 (x2, V2DImode, V2DFmode) != 0
                  || !(
#line 8410 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
                return -1;
              return 2663; /* avx512f_sfixupimmv2df_mask */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case REG:
    case SUBREG:
      operands[1] = x4;
      x11 = XEXP (x3, 1);
      if (GET_CODE (x11) != VEC_DUPLICATE)
        return -1;
      x13 = XEXP (x11, 0);
      operands[2] = x13;
      x5 = XEXP (x3, 2);
      operands[3] = x5;
      if (!const_int_operand (operands[3], SImode))
        return -1;
      x12 = XEXP (x2, 1);
      operands[4] = x12;
      x10 = XEXP (x2, 2);
      operands[5] = x10;
      switch (GET_MODE (operands[0]))
        {
        case V8DFmode:
          if (pattern607 (x2, V8DFmode, V2DFmode, QImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 12548 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 7127 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ))))
            return -1;
          return 3593; /* avx512dq_vinsertf64x2_1_mask */

        case V8DImode:
          if (pattern607 (x2, V8DImode, V2DImode, QImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 12548 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 7127 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ))))
            return -1;
          return 3595; /* avx512dq_vinserti64x2_1_mask */

        case V16SFmode:
          if (pattern607 (x2, V16SFmode, V4SFmode, HImode) != 0
              || !
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
            return -1;
          return 3597; /* avx512f_vinsertf32x4_1_mask */

        case V16SImode:
          if (pattern607 (x2, V16SImode, V4SImode, HImode) != 0
              || !
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
            return -1;
          return 3599; /* avx512f_vinserti32x4_1_mask */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_109 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) != PARALLEL)
    return -1;
  x5 = XEXP (x3, 0);
  switch (GET_CODE (x5))
    {
    case VEC_CONCAT:
      return recog_91 (x1, insn, pnum_clobbers);

    case REG:
    case SUBREG:
    case MEM:
      operands[1] = x5;
      switch (XVECLEN (x4, 0))
        {
        case 2:
          res = recog_82 (x1, insn, pnum_clobbers);
          if (res >= 0)
            return res;
          break;

        case 4:
          res = recog_84 (x1, insn, pnum_clobbers);
          if (res >= 0)
            return res;
          break;

        case 8:
          res = recog_87 (x1, insn, pnum_clobbers);
          if (res >= 0)
            return res;
          break;

        case 16:
          res = recog_90 (x1, insn, pnum_clobbers);
          if (res >= 0)
            return res;
          break;

        default:
          break;
        }
      if (XVECLEN (x4, 0) < 1)
        return -1;
      operands[2] = x4;
      x6 = XVECEXP (x4, 0, 0);
      operands[3] = x6;
      if (!const_int_operand (operands[3], VOIDmode))
        return -1;
      x7 = XEXP (x2, 1);
      operands[4] = x7;
      x8 = XEXP (x2, 2);
      operands[5] = x8;
      switch (GET_MODE (operands[0]))
        {
        case V16SFmode:
          if (pattern671 (x2, V16SFmode, HImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 17989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && (64 == 64 || TARGET_AVX512VL)
   && avx_vpermilp_parallel (operands[2], V16SFmode)) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
            return -1;
          return 4284; /* *avx512f_vpermilpv16sf_mask */

        case V8SFmode:
          if (pattern671 (x2, V8SFmode, QImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 17989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && (32 == 64 || TARGET_AVX512VL)
   && avx_vpermilp_parallel (operands[2], V8SFmode)) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
            return -1;
          return 4286; /* *avx_vpermilpv8sf_mask */

        case V4SFmode:
          if (pattern671 (x2, V4SFmode, QImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 17989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && (16 == 64 || TARGET_AVX512VL)
   && avx_vpermilp_parallel (operands[2], V4SFmode))))
            return -1;
          return 4288; /* *avx_vpermilpv4sf_mask */

        case V8DFmode:
          if (pattern671 (x2, V8DFmode, QImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 17989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && (64 == 64 || TARGET_AVX512VL)
   && avx_vpermilp_parallel (operands[2], V8DFmode)) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
            return -1;
          return 4290; /* *avx512f_vpermilpv8df_mask */

        case V4DFmode:
          if (pattern671 (x2, V4DFmode, QImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 17989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && (32 == 64 || TARGET_AVX512VL)
   && avx_vpermilp_parallel (operands[2], V4DFmode)) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
            return -1;
          return 4292; /* *avx_vpermilpv4df_mask */

        case V2DFmode:
          if (pattern671 (x2, V2DFmode, QImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 17989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && (16 == 64 || TARGET_AVX512VL)
   && avx_vpermilp_parallel (operands[2], V2DFmode)) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))))
            return -1;
          return 4294; /* *avx_vpermilpv2df_mask */

        default:
          return -1;
        }

    case UNSPEC:
      if (XVECLEN (x5, 0) != 1
          || XINT (x5, 1) != 142
          || GET_MODE (x5) != V8SFmode
          || XVECLEN (x4, 0) != 4
          || pattern311 (x4) != 0
          || pattern419 (x2, V8HImode, V4SFmode) != 0)
        return -1;
      x7 = XEXP (x2, 1);
      operands[2] = x7;
      if (!vector_move_operand (operands[2], V4SFmode))
        return -1;
      x8 = XEXP (x2, 2);
      operands[3] = x8;
      if (!register_operand (operands[3], QImode)
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 18854 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_F16C || TARGET_AVX512VL)))
        return -1;
      return 4533; /* vcvtph2ps_mask */

    default:
      return -1;
    }
}

static int
recog_110 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  x5 = XEXP (x2, 1);
  operands[2] = x5;
  x6 = XEXP (x2, 2);
  operands[3] = x6;
  switch (GET_MODE (operands[0]))
    {
    case V16SImode:
      if (pattern373 (x2, V16SImode, HImode) != 0
          || !
#line 14886 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
        return -1;
      return 3779; /* absv16si2_mask */

    case V8SImode:
      if (pattern373 (x2, V8SImode, QImode) != 0
          || !(
#line 14886 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 3780; /* absv8si2_mask */

    case V4SImode:
      if (pattern373 (x2, V4SImode, QImode) != 0
          || !(
#line 14886 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 3781; /* absv4si2_mask */

    case V8DImode:
      if (pattern373 (x2, V8DImode, QImode) != 0
          || !
#line 14886 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
        return -1;
      return 3782; /* absv8di2_mask */

    case V4DImode:
      if (pattern373 (x2, V4DImode, QImode) != 0
          || !(
#line 14886 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 3783; /* absv4di2_mask */

    case V2DImode:
      if (pattern373 (x2, V2DImode, QImode) != 0
          || !(
#line 14886 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 3784; /* absv2di2_mask */

    case V64QImode:
      if (pattern373 (x2, V64QImode, DImode) != 0
          || !
#line 14899 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
        return -1;
      return 3785; /* absv64qi2_mask */

    case V16QImode:
      if (pattern373 (x2, V16QImode, HImode) != 0
          || !(
#line 14899 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 3786; /* absv16qi2_mask */

    case V32QImode:
      if (pattern373 (x2, V32QImode, SImode) != 0
          || !(
#line 14899 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 3787; /* absv32qi2_mask */

    case V32HImode:
      if (pattern373 (x2, V32HImode, SImode) != 0
          || !
#line 14899 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
        return -1;
      return 3788; /* absv32hi2_mask */

    case V16HImode:
      if (pattern374 (x2, V16HImode) != 0
          || !(
#line 14899 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 3789; /* absv16hi2_mask */

    case V8HImode:
      if (pattern373 (x2, V8HImode, QImode) != 0
          || !(
#line 14899 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 3790; /* absv8hi2_mask */

    default:
      return -1;
    }
}

static int
recog_111 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  operands[2] = x3;
  x4 = XEXP (x2, 1);
  operands[3] = x4;
  x5 = XEXP (x2, 2);
  operands[1] = x5;
  switch (GET_MODE (operands[0]))
    {
    case V64QImode:
      if (pattern371 (x2, V64QImode, DImode) != 0
          || !
#line 5481 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
        return -1;
      return 2392; /* *avx512bw_cvtmask2bv64qi */

    case V16QImode:
      if (pattern371 (x2, V16QImode, HImode) != 0
          || !(
#line 5481 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 2393; /* *avx512vl_cvtmask2bv16qi */

    case V32QImode:
      if (pattern371 (x2, V32QImode, SImode) != 0
          || !(
#line 5481 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 2394; /* *avx512vl_cvtmask2bv32qi */

    case V32HImode:
      if (pattern371 (x2, V32HImode, SImode) != 0
          || !
#line 5481 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
        return -1;
      return 2395; /* *avx512bw_cvtmask2wv32hi */

    case V16HImode:
      if (pattern371 (x2, V16HImode, HImode) != 0
          || !(
#line 5481 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 2396; /* *avx512vl_cvtmask2wv16hi */

    case V8HImode:
      if (pattern371 (x2, V8HImode, QImode) != 0
          || !(
#line 5481 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 2397; /* *avx512vl_cvtmask2wv8hi */

    case V16SImode:
      if (pattern371 (x2, V16SImode, HImode) != 0
          || !
#line 5504 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ))
        return -1;
      return 2398; /* *avx512f_cvtmask2dv16si */

    case V8SImode:
      if (pattern371 (x2, V8SImode, QImode) != 0
          || !(
#line 5504 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 2399; /* *avx512vl_cvtmask2dv8si */

    case V4SImode:
      if (pattern371 (x2, V4SImode, QImode) != 0
          || !(
#line 5504 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 2400; /* *avx512vl_cvtmask2dv4si */

    case V8DImode:
      if (pattern371 (x2, V8DImode, QImode) != 0
          || !
#line 5504 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ))
        return -1;
      return 2401; /* *avx512f_cvtmask2qv8di */

    case V4DImode:
      if (pattern371 (x2, V4DImode, QImode) != 0
          || !(
#line 5504 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 2402; /* *avx512vl_cvtmask2qv4di */

    case V2DImode:
      if (pattern371 (x2, V2DImode, QImode) != 0
          || !(
#line 5504 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 2403; /* *avx512vl_cvtmask2qv2di */

    default:
      return -1;
    }
}

static int
recog_112 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (pattern83 (x2))
    {
    case 0:
      if (pattern84 (x2, V16SFmode, HImode, V16SImode) != 0
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 4410 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (64 == 64 || TARGET_AVX512VL) && 1) && 
#line 235 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
        return -1;
      return 2117; /* floatv16siv16sf2_mask */

    case 1:
      if (pattern85 (x2, V8SFmode, QImode) != 0)
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case V8SImode:
          if (!vector_operand (operands[1], V8SImode)
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 4410 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (32 == 64 || TARGET_AVX512VL) && 1) && 
#line 235 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
            return -1;
          return 2120; /* floatv8siv8sf2_mask */

        case V8DImode:
          if (!nonimmediate_operand (operands[1], V8DImode)
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 4918 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1)))
            return -1;
          return 2245; /* floatv8div8sf2_mask */

        default:
          return -1;
        }

    case 2:
      if (pattern85 (x2, V4SFmode, QImode) != 0)
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case V4SImode:
          if (!vector_operand (operands[1], V4SImode)
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 4410 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (16 == 64 || TARGET_AVX512VL) && 1)))
            return -1;
          return 2122; /* floatv4siv4sf2_mask */

        case V4DImode:
          if (!nonimmediate_operand (operands[1], V4DImode)
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 4918 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1) && 
#line 242 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 2252; /* floatv4div4sf2_mask */

        default:
          return -1;
        }

    case 3:
      switch (pattern417 (x2, V8DFmode))
        {
        case 0:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 4884 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && (64 == 64 || TARGET_AVX512VL)) && 
#line 253 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
            return -1;
          return 2216; /* floatv8siv8df2_mask */

        case 1:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 4894 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ)))
            return -1;
          return 2221; /* floatv8div8df2_mask */

        default:
          return -1;
        }

    case 4:
      switch (pattern418 (x2, V4DFmode))
        {
        case 0:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 4884 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && (32 == 64 || TARGET_AVX512VL))))
            return -1;
          return 2218; /* floatv4siv4df2_mask */

        case 1:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 4894 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 279 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 2229; /* floatv4div4df2_mask */

        default:
          return -1;
        }

    case 5:
      if (pattern95 (x2, V2DFmode, V2DImode, QImode) != 0
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 4894 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 279 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
        return -1;
      return 2237; /* floatv2div2df2_mask */

    case 6:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 5022 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && TARGET_AVX512VL)))
        return -1;
      return 2270; /* sse2_cvtdq2pd_mask */

    default:
      return -1;
    }
}

static int
recog_113 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case VEC_SELECT:
      if (GET_MODE (x4) != V2SFmode)
        return -1;
      x5 = XEXP (x4, 1);
      if (GET_CODE (x5) != PARALLEL
          || XVECLEN (x5, 0) != 2)
        return -1;
      x6 = XVECEXP (x5, 0, 0);
      if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x7 = XVECEXP (x5, 0, 1);
      if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
          || !register_operand (operands[0], V2DFmode)
          || GET_MODE (x2) != V2DFmode
          || GET_MODE (x3) != V2DFmode)
        return -1;
      x8 = XEXP (x2, 2);
      switch (GET_CODE (x8))
        {
        case CONST_INT:
          if (XWINT (x8, 0) != 1LL)
            return -1;
          x9 = XEXP (x4, 0);
          operands[2] = x9;
          if (!nonimmediate_operand (operands[2], V4SFmode))
            return -1;
          x10 = XEXP (x2, 1);
          operands[1] = x10;
          if (!register_operand (operands[1], V2DFmode)
              || !
#line 5303 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))
            return -1;
          return 2361; /* sse2_cvtss2sd */

        case REG:
        case SUBREG:
          operands[3] = x8;
          if (!register_operand (operands[3], QImode))
            return -1;
          x9 = XEXP (x4, 0);
          operands[1] = x9;
          if (!vector_operand (operands[1], V4SFmode))
            return -1;
          x10 = XEXP (x2, 1);
          operands[2] = x10;
          if (!vector_move_operand (operands[2], V2DFmode)
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 5515 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && TARGET_AVX512VL)))
            return -1;
          return 2405; /* sse2_cvtps2pd_mask */

        default:
          return -1;
        }

    case REG:
    case SUBREG:
    case MEM:
      operands[1] = x4;
      x10 = XEXP (x2, 1);
      operands[2] = x10;
      x8 = XEXP (x2, 2);
      operands[3] = x8;
      if (!register_operand (operands[3], QImode))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case V8DFmode:
          if (pattern420 (x2, V8DFmode, V8SFmode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 5409 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && (64 == 64 || TARGET_AVX512VL) && 1) && 
#line 253 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
            return -1;
          return 2374; /* avx512f_cvtps2pd512_mask */

        case V4DFmode:
          if (pattern420 (x2, V4DFmode, V4SFmode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 5409 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && (32 == 64 || TARGET_AVX512VL) && 1)))
            return -1;
          return 2377; /* avx_cvtps2pd256_mask */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_114 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (pattern83 (x2))
    {
    case 0:
      if (pattern95 (x2, V16SFmode, V16SImode, HImode) != 0
          || !
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
        return -1;
      return 2125; /* ufloatv16siv16sf2_mask */

    case 1:
      switch (pattern417 (x2, V8SFmode))
        {
        case 0:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 4423 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 282 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 2129; /* ufloatv8siv8sf2_mask */

        case 1:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 4918 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1)))
            return -1;
          return 2249; /* ufloatv8div8sf2_mask */

        default:
          return -1;
        }

    case 2:
      switch (pattern418 (x2, V4SFmode))
        {
        case 0:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 4423 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 282 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 2133; /* ufloatv4siv4sf2_mask */

        case 1:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 4918 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1) && 
#line 242 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 2254; /* ufloatv4div4sf2_mask */

        default:
          return -1;
        }

    case 3:
      if (pattern85 (x2, V8DFmode, QImode) != 0)
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case V8DImode:
          if (!nonimmediate_operand (operands[1], V8DImode)
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 4894 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ)))
            return -1;
          return 2225; /* ufloatv8div8df2_mask */

        case V8SImode:
          if (!nonimmediate_operand (operands[1], V8SImode)
              || !
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
            return -1;
          return 2262; /* ufloatv8siv8df2_mask */

        default:
          return -1;
        }

    case 4:
      if (pattern85 (x2, V4DFmode, QImode) != 0)
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case V4DImode:
          if (!nonimmediate_operand (operands[1], V4DImode)
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 4894 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 279 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 2233; /* ufloatv4div4df2_mask */

        case V4SImode:
          if (!nonimmediate_operand (operands[1], V4SImode)
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 4970 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 256 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 2264; /* ufloatv4siv4df2_mask */

        default:
          return -1;
        }

    case 5:
      if (pattern95 (x2, V2DFmode, V2DImode, QImode) != 0
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 4894 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 279 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
        return -1;
      return 2241; /* ufloatv2div2df2_mask */

    case 6:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 4982 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 2266; /* ufloatv2siv2df2_mask */

    default:
      return -1;
    }
}

static int
recog_115 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (pattern94 (x2))
    {
    case 0:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 10877 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (UMAX, V16SImode, operands))))
        return -1;
      return 3221; /* *avx512f_umaxv16si3_mask */

    case 1:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10877 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (UMAX, V8SImode, operands)) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
        return -1;
      return 3229; /* *avx512f_umaxv8si3_mask */

    case 2:
      if (nonimmediate_operand (operands[1], V4SImode)
          && nonimmediate_operand (operands[2], V4SImode)
          && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10877 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (UMAX, V4SImode, operands)) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
        return 3237; /* *avx512f_umaxv4si3_mask */
      if (!vector_operand (operands[1], V4SImode)
          || !vector_operand (operands[2], V4SImode)
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 11066 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1
   && (16 == 64 || TARGET_AVX512VL)
   && ix86_binary_operator_ok (UMAX, V4SImode, operands))))
        return -1;
      return 3327; /* *sse4_1_umaxv4si3_mask */

    case 3:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 10877 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (UMAX, V8DImode, operands))))
        return -1;
      return 3245; /* *avx512f_umaxv8di3_mask */

    case 4:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10877 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (UMAX, V4DImode, operands)) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
        return -1;
      return 3253; /* *avx512f_umaxv4di3_mask */

    case 5:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10877 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (UMAX, V2DImode, operands)) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
        return -1;
      return 3261; /* *avx512f_umaxv2di3_mask */

    case 6:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 10889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
        return -1;
      return 3269; /* umaxv64qi3_mask */

    case 7:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
        return -1;
      return 3277; /* umaxv16qi3_mask */

    case 8:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
        return -1;
      return 3285; /* umaxv32qi3_mask */

    case 9:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 10889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
        return -1;
      return 3293; /* umaxv32hi3_mask */

    case 10:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
        return -1;
      return 3301; /* umaxv16hi3_mask */

    case 11:
      if (register_operand (operands[1], V8HImode)
          && nonimmediate_operand (operands[2], V8HImode)
          && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
        return 3309; /* umaxv8hi3_mask */
      if (!vector_operand (operands[1], V8HImode)
          || !vector_operand (operands[2], V8HImode)
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 11066 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1
   && (16 == 64 || TARGET_AVX512VL)
   && ix86_binary_operator_ok (UMAX, V8HImode, operands))))
        return -1;
      return 3323; /* *sse4_1_umaxv8hi3_mask */

    default:
      return -1;
    }
}

static int
recog_116 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (pattern94 (x2))
    {
    case 0:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 10877 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (UMIN, V16SImode, operands))))
        return -1;
      return 3223; /* *avx512f_uminv16si3_mask */

    case 1:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10877 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (UMIN, V8SImode, operands)) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
        return -1;
      return 3231; /* *avx512f_uminv8si3_mask */

    case 2:
      if (nonimmediate_operand (operands[1], V4SImode)
          && nonimmediate_operand (operands[2], V4SImode)
          && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10877 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (UMIN, V4SImode, operands)) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
        return 3239; /* *avx512f_uminv4si3_mask */
      if (!vector_operand (operands[1], V4SImode)
          || !vector_operand (operands[2], V4SImode)
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 11066 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1
   && (16 == 64 || TARGET_AVX512VL)
   && ix86_binary_operator_ok (UMIN, V4SImode, operands))))
        return -1;
      return 3329; /* *sse4_1_uminv4si3_mask */

    case 3:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 10877 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (UMIN, V8DImode, operands))))
        return -1;
      return 3247; /* *avx512f_uminv8di3_mask */

    case 4:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10877 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (UMIN, V4DImode, operands)) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
        return -1;
      return 3255; /* *avx512f_uminv4di3_mask */

    case 5:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10877 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (UMIN, V2DImode, operands)) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
        return -1;
      return 3263; /* *avx512f_uminv2di3_mask */

    case 6:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 10889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
        return -1;
      return 3271; /* uminv64qi3_mask */

    case 7:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
        return -1;
      return 3279; /* uminv16qi3_mask */

    case 8:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
        return -1;
      return 3287; /* uminv32qi3_mask */

    case 9:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 10889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
        return -1;
      return 3295; /* uminv32hi3_mask */

    case 10:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
        return -1;
      return 3303; /* uminv16hi3_mask */

    case 11:
      if (register_operand (operands[1], V8HImode)
          && nonimmediate_operand (operands[2], V8HImode)
          && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
        return 3311; /* uminv8hi3_mask */
      if (!vector_operand (operands[1], V8HImode)
          || !vector_operand (operands[2], V8HImode)
          || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 11066 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1
   && (16 == 64 || TARGET_AVX512VL)
   && ix86_binary_operator_ok (UMIN, V8HImode, operands))))
        return -1;
      return 3325; /* *sse4_1_uminv8hi3_mask */

    default:
      return -1;
    }
}

static int
recog_117 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  x5 = XEXP (x2, 1);
  operands[2] = x5;
  x6 = XEXP (x2, 2);
  switch (GET_CODE (x6))
    {
    case REG:
    case SUBREG:
      operands[3] = x6;
      switch (GET_MODE (operands[0]))
        {
        case V16SFmode:
          if (pattern411 (x2, V16SFmode, HImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1747 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && (64 == 64 || TARGET_AVX512VL) && 1) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
            return -1;
          return 1472; /* avx512f_sqrtv16sf2_mask */

        case V8SFmode:
          if (pattern411 (x2, V8SFmode, QImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1747 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && (32 == 64 || TARGET_AVX512VL) && 1) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
            return -1;
          return 1475; /* avx_sqrtv8sf2_mask */

        case V4SFmode:
          if (pattern411 (x2, V4SFmode, QImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 1747 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && (16 == 64 || TARGET_AVX512VL) && 1)))
            return -1;
          return 1477; /* sse_sqrtv4sf2_mask */

        case V8DFmode:
          if (pattern411 (x2, V8DFmode, QImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1747 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && (64 == 64 || TARGET_AVX512VL) && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
            return -1;
          return 1480; /* avx512f_sqrtv8df2_mask */

        case V4DFmode:
          if (pattern411 (x2, V4DFmode, QImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1747 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && (32 == 64 || TARGET_AVX512VL) && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
            return -1;
          return 1483; /* avx_sqrtv4df2_mask */

        case V2DFmode:
          if (pattern411 (x2, V2DFmode, QImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1747 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && (16 == 64 || TARGET_AVX512VL) && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))))
            return -1;
          return 1485; /* sse2_sqrtv2df2_mask */

        default:
          return -1;
        }

    case CONST_INT:
      if (XWINT (x6, 0) != 1LL)
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case V4SFmode:
          if (pattern412 (x2, V4SFmode) != 0
              || !
#line 1765 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE))
            return -1;
          return 1486; /* sse_vmsqrtv4sf2 */

        case V2DFmode:
          if (pattern412 (x2, V2DFmode) != 0
              || !(
#line 1765 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
            return -1;
          return 1488; /* sse2_vmsqrtv2df2 */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_118 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (pattern98 (x2))
    {
    case 0:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 15235 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && TARGET_AVX512BW && TARGET_AVX512VL)))
        return -1;
      return 3833; /* avx2_sign_extendv16qiv16hi2_mask */

    case 1:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 15246 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
        return -1;
      return 3837; /* avx512bw_sign_extendv32qiv32hi2_mask */

    case 2:
      if (!
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
        return -1;
      return 3845; /* avx512f_sign_extendv16qiv16si2_mask */

    case 3:
      if (!
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
        return -1;
      return 3857; /* avx512f_sign_extendv16hiv16si2_mask */

    case 4:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 15325 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && TARGET_AVX512VL)))
        return -1;
      return 3861; /* avx2_sign_extendv8hiv8si2_mask */

    case 5:
      if (!
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
        return -1;
      return 3881; /* avx512f_sign_extendv8hiv8di2_mask */

    case 6:
      if (!
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
        return -1;
      return 3893; /* avx512f_sign_extendv8siv8di2_mask */

    case 7:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 15442 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && TARGET_AVX512VL)))
        return -1;
      return 3897; /* avx2_sign_extendv4siv4di2_mask */

    case 8:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 15262 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1 && TARGET_AVX512BW && TARGET_AVX512VL)))
        return -1;
      return 3841; /* sse4_1_sign_extendv8qiv8hi2_mask */

    case 9:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 15289 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && TARGET_AVX512VL)))
        return -1;
      return 3849; /* avx2_sign_extendv8qiv8si2_mask */

    case 10:
      if (!
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
        return -1;
      return 3869; /* avx512f_sign_extendv8qiv8di2_mask */

    case 11:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 15303 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1 && TARGET_AVX512VL)))
        return -1;
      return 3853; /* sse4_1_sign_extendv4qiv4si2_mask */

    case 12:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 15339 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1 && TARGET_AVX512VL)))
        return -1;
      return 3865; /* sse4_1_sign_extendv4hiv4si2_mask */

    case 13:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 15369 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && TARGET_AVX512VL)))
        return -1;
      return 3873; /* avx2_sign_extendv4qiv4di2_mask */

    case 14:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 15407 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && TARGET_AVX512VL)))
        return -1;
      return 3885; /* avx2_sign_extendv4hiv4di2_mask */

    case 15:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 15382 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1 && TARGET_AVX512VL)))
        return -1;
      return 3877; /* sse4_1_sign_extendv2qiv2di2_mask */

    case 16:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 15420 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1 && TARGET_AVX512VL)))
        return -1;
      return 3889; /* sse4_1_sign_extendv2hiv2di2_mask */

    case 17:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 15455 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1 && TARGET_AVX512VL)))
        return -1;
      return 3901; /* sse4_1_sign_extendv2siv2di2_mask */

    default:
      return -1;
    }
}

static int
recog_119 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (pattern81 (x2))
    {
    case 0:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 3138 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && TARGET_AVX512VL
   && ix86_binary_operator_ok (IOR, V8SFmode, operands)) && 
#line 230 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
        return -1;
      return 1744; /* *iorv8sf3_mask */

    case 1:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3138 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && TARGET_AVX512VL
   && ix86_binary_operator_ok (IOR, V4SFmode, operands))))
        return -1;
      return 1750; /* *iorv4sf3_mask */

    case 2:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 3138 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && TARGET_AVX512VL
   && ix86_binary_operator_ok (IOR, V4DFmode, operands)) && 
#line 231 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
        return -1;
      return 1756; /* *iorv4df3_mask */

    case 3:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 3138 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && TARGET_AVX512VL
   && ix86_binary_operator_ok (IOR, V2DFmode, operands)) && 
#line 231 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))))
        return -1;
      return 1762; /* *iorv2df3_mask */

    case 4:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3203 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (IOR, V16SFmode, operands))))
        return -1;
      return 1768; /* *iorv16sf3_mask */

    case 5:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3203 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (IOR, V8DFmode, operands))))
        return -1;
      return 1774; /* *iorv8df3_mask */

    case 6:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11656 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && (64 == 64 || TARGET_AVX512VL)
   && ix86_binary_operator_ok (IOR, V16SImode, operands)) && 
#line 425 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
        return -1;
      return 3417; /* iorv16si3_mask */

    case 7:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11656 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && (32 == 64 || TARGET_AVX512VL)
   && ix86_binary_operator_ok (IOR, V8SImode, operands)) && 
#line 425 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
        return -1;
      return 3423; /* iorv8si3_mask */

    case 8:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 11656 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && (16 == 64 || TARGET_AVX512VL)
   && ix86_binary_operator_ok (IOR, V4SImode, operands))))
        return -1;
      return 3429; /* iorv4si3_mask */

    case 9:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11656 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && (64 == 64 || TARGET_AVX512VL)
   && ix86_binary_operator_ok (IOR, V8DImode, operands)) && 
#line 426 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
        return -1;
      return 3435; /* iorv8di3_mask */

    case 10:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11656 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && (32 == 64 || TARGET_AVX512VL)
   && ix86_binary_operator_ok (IOR, V4DImode, operands)) && 
#line 426 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
        return -1;
      return 3441; /* iorv4di3_mask */

    case 11:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 11656 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && (16 == 64 || TARGET_AVX512VL)
   && ix86_binary_operator_ok (IOR, V2DImode, operands))))
        return -1;
      return 3447; /* iorv2di3_mask */

    case 12:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11754 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (IOR, V64QImode, operands)) && 
#line 429 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
        return -1;
      return 3453; /* *iorv64qi3 */

    case 13:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11754 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (IOR, V32QImode, operands)) && 
#line 429 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
        return -1;
      return 3459; /* *iorv32qi3 */

    case 14:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 11754 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (IOR, V16QImode, operands))))
        return -1;
      return 3465; /* *iorv16qi3 */

    case 15:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11754 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (IOR, V32HImode, operands)) && 
#line 430 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
        return -1;
      return 3471; /* *iorv32hi3 */

    case 16:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11754 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (IOR, V16HImode, operands)) && 
#line 430 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
        return -1;
      return 3477; /* *iorv16hi3 */

    case 17:
      if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 11754 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (IOR, V8HImode, operands))))
        return -1;
      return 3483; /* *iorv8hi3 */

    default:
      return -1;
    }
}

static int
recog_120 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  switch (GET_CODE (x3))
    {
    case VEC_SELECT:
      x4 = XEXP (x3, 1);
      if (GET_CODE (x4) != PARALLEL)
        return -1;
      x5 = XEXP (x2, 0);
      operands[2] = x5;
      x6 = XEXP (x3, 0);
      operands[1] = x6;
      switch (XVECLEN (x4, 0))
        {
        case 2:
          x7 = XVECEXP (x4, 0, 0);
          if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
            return -1;
          x8 = XVECEXP (x4, 0, 1);
          if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case V4SFmode:
              if (!nonimmediate_operand (operands[0], V4SFmode)
                  || GET_MODE (x2) != V4SFmode
                  || !nonimmediate_operand (operands[2], V2SFmode)
                  || GET_MODE (x3) != V2SFmode
                  || !nonimmediate_operand (operands[1], V4SFmode)
                  || !
#line 6730 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE))
                return -1;
              return 2440; /* sse_loadlps */

            case V4DImode:
              if (pattern570 (x2, V4DImode, V2DImode) != 0
                  || !
#line 18441 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && 1))
                return -1;
              return 4427; /* vec_set_lo_v4di */

            case V4DFmode:
              if (pattern570 (x2, V4DFmode, V2DFmode) != 0
                  || !
#line 18441 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && 1))
                return -1;
              return 4429; /* vec_set_lo_v4df */

            default:
              return -1;
            }

        case 1:
          x7 = XVECEXP (x4, 0, 0);
          if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
              || !nonimmediate_operand (operands[0], V2DFmode)
              || GET_MODE (x2) != V2DFmode
              || !nonimmediate_operand (operands[2], DFmode)
              || GET_MODE (x3) != DFmode
              || !vector_move_operand (operands[1], V2DFmode)
              || !
#line 8953 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
            return -1;
          return 2719; /* sse2_loadlpd */

        case 8:
          x7 = XVECEXP (x4, 0, 0);
          if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
            return -1;
          x8 = XVECEXP (x4, 0, 1);
          if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 9])
            return -1;
          x9 = XVECEXP (x4, 0, 2);
          if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 10]
              || pattern571 (x4, 15, 14, 13, 12, 11) != 0)
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case V16SFmode:
              if (pattern570 (x2, V16SFmode, V8SFmode) != 0
                  || !
#line 12604 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ))
                return -1;
              return 3600; /* vec_set_lo_v16sf */

            case V16SImode:
              if (pattern570 (x2, V16SImode, V8SImode) != 0
                  || !
#line 12604 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ))
                return -1;
              return 3602; /* vec_set_lo_v16si */

            case V16HImode:
              if (pattern570 (x2, V16HImode, V8HImode) != 0
                  || !
#line 18530 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
                return -1;
              return 4443; /* vec_set_lo_v16hi */

            default:
              return -1;
            }

        case 4:
          x7 = XVECEXP (x4, 0, 0);
          if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
            return -1;
          x8 = XVECEXP (x4, 0, 1);
          if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
            return -1;
          x9 = XVECEXP (x4, 0, 2);
          if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
            return -1;
          x10 = XVECEXP (x4, 0, 3);
          if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case V8DFmode:
              if (pattern570 (x2, V8DFmode, V4DFmode) != 0
                  || !
#line 12636 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return -1;
              return 3608; /* vec_set_lo_v8df */

            case V8DImode:
              if (pattern570 (x2, V8DImode, V4DImode) != 0
                  || !
#line 12636 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return -1;
              return 3610; /* vec_set_lo_v8di */

            case V8SImode:
              if (pattern570 (x2, V8SImode, V4SImode) != 0
                  || !
#line 18486 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
                return -1;
              return 4435; /* vec_set_lo_v8si */

            case V8SFmode:
              if (pattern570 (x2, V8SFmode, V4SFmode) != 0
                  || !
#line 18486 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
                return -1;
              return 4437; /* vec_set_lo_v8sf */

            default:
              return -1;
            }

        case 16:
          x7 = XVECEXP (x4, 0, 0);
          if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 16])
            return -1;
          x8 = XVECEXP (x4, 0, 1);
          if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 17])
            return -1;
          x9 = XVECEXP (x4, 0, 2);
          if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 18]
              || pattern571 (x4, 23, 22, 21, 20, 19) != 0)
            return -1;
          x11 = XVECEXP (x4, 0, 8);
          if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 24])
            return -1;
          x12 = XVECEXP (x4, 0, 9);
          if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 25])
            return -1;
          x13 = XVECEXP (x4, 0, 10);
          if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 26])
            return -1;
          x14 = XVECEXP (x4, 0, 11);
          if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 27])
            return -1;
          x15 = XVECEXP (x4, 0, 12);
          if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 28])
            return -1;
          x16 = XVECEXP (x4, 0, 13);
          if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 29])
            return -1;
          x17 = XVECEXP (x4, 0, 14);
          if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 30])
            return -1;
          x18 = XVECEXP (x4, 0, 15);
          if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 31]
              || pattern570 (x2, V32QImode, V16QImode) != 0
              || !
#line 18574 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
            return -1;
          return 4445; /* vec_set_lo_v32qi */

        default:
          return -1;
        }

    case CONST_INT:
    case CONST_DOUBLE:
    case CONST_VECTOR:
    case REG:
    case SUBREG:
    case MEM:
      x5 = XEXP (x2, 0);
      operands[1] = x5;
      switch (GET_MODE (operands[0]))
        {
        case V4SFmode:
          if (pattern312 (x2, V2SFmode, V4SFmode) != 0
              || !
#line 6877 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE))
            return -1;
          return 2449; /* *vec_concatv4sf */

        case V2DFmode:
          if (pattern313 (x2, DFmode, V2DFmode) != 0
              || !
#line 9065 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && (!(MEM_P (operands[1]) && MEM_P (operands[2]))
       || (TARGET_SSE3 && rtx_equal_p (operands[1], operands[2])))))
            return -1;
          return 2723; /* vec_concatv2df */

        case V4SImode:
          if (pattern312 (x2, V2SImode, V4SImode) != 0
              || !
#line 13835 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE))
            return -1;
          return 3671; /* *vec_concatv4si */

        case V2DImode:
          if (pattern313 (x2, DImode, V2DImode) != 0
              || !
#line 13856 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE))
            return -1;
          return 3672; /* vec_concatv2di */

        case V32QImode:
          if (!register_operand (operands[0], V32QImode)
              || GET_MODE (x2) != V32QImode)
            return -1;
          if (rtx_equal_p (x3, operands[1]))
            {
              if (memory_operand (operands[1], V16QImode)
                  && 
#line 17653 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))
                return 4228; /* avx2_vbroadcasti128_v32qi */
              if (nonimmediate_operand (operands[1], V16QImode)
                  && 
#line 17742 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
                return 4242; /* avx_vbroadcastf128_v32qi */
            }
          if (!register_operand (operands[1], V16QImode))
            return -1;
          operands[2] = x3;
          if (!vector_move_operand (operands[2], V16QImode)
              || !
#line 18787 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
            return -1;
          return 4520; /* avx_vec_concatv32qi */

        case V16HImode:
          if (!register_operand (operands[0], V16HImode)
              || GET_MODE (x2) != V16HImode)
            return -1;
          if (rtx_equal_p (x3, operands[1]))
            {
              if (memory_operand (operands[1], V8HImode)
                  && 
#line 17653 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))
                return 4229; /* avx2_vbroadcasti128_v16hi */
              if (nonimmediate_operand (operands[1], V8HImode)
                  && 
#line 17742 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
                return 4243; /* avx_vbroadcastf128_v16hi */
            }
          if (!register_operand (operands[1], V8HImode))
            return -1;
          operands[2] = x3;
          if (!vector_move_operand (operands[2], V8HImode)
              || !
#line 18787 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
            return -1;
          return 4521; /* avx_vec_concatv16hi */

        case V8SImode:
          if (!register_operand (operands[0], V8SImode)
              || GET_MODE (x2) != V8SImode)
            return -1;
          if (rtx_equal_p (x3, operands[1]))
            {
              if (memory_operand (operands[1], V4SImode)
                  && 
#line 17653 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))
                return 4230; /* avx2_vbroadcasti128_v8si */
              if (nonimmediate_operand (operands[1], V4SImode)
                  && 
#line 17742 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
                return 4244; /* avx_vbroadcastf128_v8si */
            }
          if (!register_operand (operands[1], V4SImode))
            return -1;
          operands[2] = x3;
          if (!vector_move_operand (operands[2], V4SImode)
              || !
#line 18787 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
            return -1;
          return 4522; /* avx_vec_concatv8si */

        case V4DImode:
          if (!register_operand (operands[0], V4DImode)
              || GET_MODE (x2) != V4DImode)
            return -1;
          if (rtx_equal_p (x3, operands[1]))
            {
              if (memory_operand (operands[1], V2DImode)
                  && 
#line 17653 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))
                return 4231; /* avx2_vbroadcasti128_v4di */
              if (nonimmediate_operand (operands[1], V2DImode)
                  && 
#line 17742 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
                return 4245; /* avx_vbroadcastf128_v4di */
            }
          if (!register_operand (operands[1], V2DImode))
            return -1;
          operands[2] = x3;
          if (!vector_move_operand (operands[2], V2DImode)
              || !
#line 18787 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
            return -1;
          return 4523; /* avx_vec_concatv4di */

        case V8SFmode:
          if (!register_operand (operands[0], V8SFmode)
              || GET_MODE (x2) != V8SFmode)
            return -1;
          if (nonimmediate_operand (operands[1], V4SFmode)
              && rtx_equal_p (x3, operands[1])
              && 
#line 17742 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
            return 4246; /* avx_vbroadcastf128_v8sf */
          if (!register_operand (operands[1], V4SFmode))
            return -1;
          operands[2] = x3;
          if (!vector_move_operand (operands[2], V4SFmode)
              || !
#line 18787 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
            return -1;
          return 4524; /* avx_vec_concatv8sf */

        case V4DFmode:
          if (!register_operand (operands[0], V4DFmode)
              || GET_MODE (x2) != V4DFmode)
            return -1;
          if (nonimmediate_operand (operands[1], V2DFmode)
              && rtx_equal_p (x3, operands[1])
              && 
#line 17742 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
            return 4247; /* avx_vbroadcastf128_v4df */
          if (!register_operand (operands[1], V2DFmode))
            return -1;
          operands[2] = x3;
          if (!vector_move_operand (operands[2], V2DFmode)
              || !
#line 18787 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
            return -1;
          return 4525; /* avx_vec_concatv4df */

        case V64QImode:
          if (pattern314 (x2, V32QImode, V64QImode) != 0
              || !(
#line 18787 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX) && 
#line 220 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
            return -1;
          return 4526; /* avx_vec_concatv64qi */

        case V32HImode:
          if (pattern314 (x2, V16HImode, V32HImode) != 0
              || !(
#line 18787 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX) && 
#line 220 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
            return -1;
          return 4527; /* avx_vec_concatv32hi */

        case V16SImode:
          if (pattern314 (x2, V8SImode, V16SImode) != 0
              || !(
#line 18787 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX) && 
#line 220 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
            return -1;
          return 4528; /* avx_vec_concatv16si */

        case V8DImode:
          if (pattern314 (x2, V4DImode, V8DImode) != 0
              || !(
#line 18787 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX) && 
#line 221 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
            return -1;
          return 4529; /* avx_vec_concatv8di */

        case V16SFmode:
          if (pattern314 (x2, V8SFmode, V16SFmode) != 0
              || !(
#line 18787 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX) && 
#line 221 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
            return -1;
          return 4530; /* avx_vec_concatv16sf */

        case V8DFmode:
          if (pattern314 (x2, V4DFmode, V8DFmode) != 0
              || !(
#line 18787 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX) && 
#line 221 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
            return -1;
          return 4531; /* avx_vec_concatv8df */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_121 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 2);
  if (!register_operand (x4, QImode))
    return -1;
  x5 = XEXP (x3, 0);
  switch (GET_CODE (x5))
    {
    case FLOAT:
      switch (pattern227 (x2))
        {
        case 0:
          if (!
#line 4945 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && TARGET_AVX512VL))
            return -1;
          return 2257; /* floatv2div2sf2_mask */

        case 1:
          if (!
#line 4960 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && TARGET_AVX512VL))
            return -1;
          return 2259; /* *floatv2div2sf2_mask_1 */

        default:
          return -1;
        }

    case UNSIGNED_FLOAT:
      switch (pattern227 (x2))
        {
        case 0:
          if (!
#line 4945 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && TARGET_AVX512VL))
            return -1;
          return 2258; /* ufloatv2div2sf2_mask */

        case 1:
          if (!
#line 4960 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && TARGET_AVX512VL))
            return -1;
          return 2260; /* *ufloatv2div2sf2_mask_1 */

        default:
          return -1;
        }

    case SS_TRUNCATE:
      switch (pattern235 (x2))
        {
        case 0:
          if (!
#line 9291 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2790; /* avx512vl_ss_truncatev2div2qi2_mask */

        case 1:
          if (!
#line 9661 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2883; /* avx512vl_ss_truncatev2div2hi2_mask */

        case 2:
          if (!
#line 9744 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2898; /* avx512vl_ss_truncatev2div2si2_mask */

        case 3:
          if (!
#line 9337 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2796; /* avx512vl_ss_truncatev2div2qi2_mask_store */

        case 4:
          if (!
#line 9699 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2889; /* avx512vl_ss_truncatev2div2hi2_mask_store */

        case 5:
          if (!
#line 9778 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2904; /* avx512vl_ss_truncatev2div2si2_mask_store */

        case 6:
          if (!
#line 9381 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2805; /* avx512vl_ss_truncatev4siv4qi2_mask */

        case 7:
          if (!
#line 9381 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2808; /* avx512vl_ss_truncatev4div4qi2_mask */

        case 8:
          if (!
#line 9582 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2862; /* avx512vl_ss_truncatev4siv4hi2_mask */

        case 9:
          if (!
#line 9582 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2865; /* avx512vl_ss_truncatev4div4hi2_mask */

        case 10:
          if (!
#line 9427 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2817; /* avx512vl_ss_truncatev4siv4qi2_mask_store */

        case 11:
          if (!
#line 9427 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2820; /* avx512vl_ss_truncatev4div4qi2_mask_store */

        case 12:
          if (!
#line 9620 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2874; /* avx512vl_ss_truncatev4siv4hi2_mask_store */

        case 13:
          if (!
#line 9620 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2877; /* avx512vl_ss_truncatev4div4hi2_mask_store */

        case 14:
          if (!(
#line 9476 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 9439 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 2829; /* avx512vl_ss_truncatev8hiv8qi2_mask */

        case 15:
          if (!
#line 9476 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2832; /* avx512vl_ss_truncatev8siv8qi2_mask */

        case 16:
          if (!
#line 9835 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2913; /* avx512f_ss_truncatev8div16qi2_mask */

        case 17:
          if (!(
#line 9522 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 9439 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 2841; /* avx512vl_ss_truncatev8hiv8qi2_mask_store */

        case 18:
          if (!
#line 9522 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2844; /* avx512vl_ss_truncatev8siv8qi2_mask_store */

        case 19:
          if (!
#line 9881 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2919; /* avx512f_ss_truncatev8div16qi2_mask_store */

        case 20:
          if (!
#line 9312 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2793; /* *avx512vl_ss_truncatev2div2qi2_mask_1 */

        case 21:
          if (!
#line 9678 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2886; /* *avx512vl_ss_truncatev2div2hi2_mask_1 */

        case 22:
          if (!
#line 9759 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2901; /* *avx512vl_ss_truncatev2div2si2_mask_1 */

        case 23:
          if (!
#line 9402 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2811; /* *avx512vl_ss_truncatev4siv4qi2_mask_1 */

        case 24:
          if (!
#line 9402 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2814; /* *avx512vl_ss_truncatev4div4qi2_mask_1 */

        case 25:
          if (!
#line 9599 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2868; /* *avx512vl_ss_truncatev4siv4hi2_mask_1 */

        case 26:
          if (!
#line 9599 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2871; /* *avx512vl_ss_truncatev4div4hi2_mask_1 */

        case 27:
          if (!(
#line 9497 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 9439 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 2835; /* *avx512vl_ss_truncatev8hiv8qi2_mask_1 */

        case 28:
          if (!
#line 9497 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2838; /* *avx512vl_ss_truncatev8siv8qi2_mask_1 */

        case 29:
          if (!
#line 9856 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2916; /* *avx512f_ss_truncatev8div16qi2_mask_1 */

        default:
          return -1;
        }

    case TRUNCATE:
      switch (pattern235 (x2))
        {
        case 0:
          if (!
#line 9291 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2791; /* avx512vl_truncatev2div2qi2_mask */

        case 1:
          if (!
#line 9661 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2884; /* avx512vl_truncatev2div2hi2_mask */

        case 2:
          if (!
#line 9744 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2899; /* avx512vl_truncatev2div2si2_mask */

        case 3:
          if (!
#line 9337 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2797; /* avx512vl_truncatev2div2qi2_mask_store */

        case 4:
          if (!
#line 9699 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2890; /* avx512vl_truncatev2div2hi2_mask_store */

        case 5:
          if (!
#line 9778 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2905; /* avx512vl_truncatev2div2si2_mask_store */

        case 6:
          if (!
#line 9381 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2806; /* avx512vl_truncatev4siv4qi2_mask */

        case 7:
          if (!
#line 9381 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2809; /* avx512vl_truncatev4div4qi2_mask */

        case 8:
          if (!
#line 9582 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2863; /* avx512vl_truncatev4siv4hi2_mask */

        case 9:
          if (!
#line 9582 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2866; /* avx512vl_truncatev4div4hi2_mask */

        case 10:
          if (!
#line 9427 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2818; /* avx512vl_truncatev4siv4qi2_mask_store */

        case 11:
          if (!
#line 9427 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2821; /* avx512vl_truncatev4div4qi2_mask_store */

        case 12:
          if (!
#line 9620 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2875; /* avx512vl_truncatev4siv4hi2_mask_store */

        case 13:
          if (!
#line 9620 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2878; /* avx512vl_truncatev4div4hi2_mask_store */

        case 14:
          if (!(
#line 9476 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 9439 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 2830; /* avx512vl_truncatev8hiv8qi2_mask */

        case 15:
          if (!
#line 9476 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2833; /* avx512vl_truncatev8siv8qi2_mask */

        case 16:
          if (!
#line 9835 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2914; /* avx512f_truncatev8div16qi2_mask */

        case 17:
          if (!(
#line 9522 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 9439 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 2842; /* avx512vl_truncatev8hiv8qi2_mask_store */

        case 18:
          if (!
#line 9522 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2845; /* avx512vl_truncatev8siv8qi2_mask_store */

        case 19:
          if (!
#line 9881 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2920; /* avx512f_truncatev8div16qi2_mask_store */

        case 20:
          if (!
#line 9312 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2794; /* *avx512vl_truncatev2div2qi2_mask_1 */

        case 21:
          if (!
#line 9678 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2887; /* *avx512vl_truncatev2div2hi2_mask_1 */

        case 22:
          if (!
#line 9759 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2902; /* *avx512vl_truncatev2div2si2_mask_1 */

        case 23:
          if (!
#line 9402 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2812; /* *avx512vl_truncatev4siv4qi2_mask_1 */

        case 24:
          if (!
#line 9402 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2815; /* *avx512vl_truncatev4div4qi2_mask_1 */

        case 25:
          if (!
#line 9599 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2869; /* *avx512vl_truncatev4siv4hi2_mask_1 */

        case 26:
          if (!
#line 9599 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2872; /* *avx512vl_truncatev4div4hi2_mask_1 */

        case 27:
          if (!(
#line 9497 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 9439 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 2836; /* *avx512vl_truncatev8hiv8qi2_mask_1 */

        case 28:
          if (!
#line 9497 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2839; /* *avx512vl_truncatev8siv8qi2_mask_1 */

        case 29:
          if (!
#line 9856 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2917; /* *avx512f_truncatev8div16qi2_mask_1 */

        default:
          return -1;
        }

    case US_TRUNCATE:
      switch (pattern235 (x2))
        {
        case 0:
          if (!
#line 9291 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2792; /* avx512vl_us_truncatev2div2qi2_mask */

        case 1:
          if (!
#line 9661 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2885; /* avx512vl_us_truncatev2div2hi2_mask */

        case 2:
          if (!
#line 9744 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2900; /* avx512vl_us_truncatev2div2si2_mask */

        case 3:
          if (!
#line 9337 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2798; /* avx512vl_us_truncatev2div2qi2_mask_store */

        case 4:
          if (!
#line 9699 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2891; /* avx512vl_us_truncatev2div2hi2_mask_store */

        case 5:
          if (!
#line 9778 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2906; /* avx512vl_us_truncatev2div2si2_mask_store */

        case 6:
          if (!
#line 9381 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2807; /* avx512vl_us_truncatev4siv4qi2_mask */

        case 7:
          if (!
#line 9381 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2810; /* avx512vl_us_truncatev4div4qi2_mask */

        case 8:
          if (!
#line 9582 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2864; /* avx512vl_us_truncatev4siv4hi2_mask */

        case 9:
          if (!
#line 9582 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2867; /* avx512vl_us_truncatev4div4hi2_mask */

        case 10:
          if (!
#line 9427 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2819; /* avx512vl_us_truncatev4siv4qi2_mask_store */

        case 11:
          if (!
#line 9427 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2822; /* avx512vl_us_truncatev4div4qi2_mask_store */

        case 12:
          if (!
#line 9620 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2876; /* avx512vl_us_truncatev4siv4hi2_mask_store */

        case 13:
          if (!
#line 9620 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2879; /* avx512vl_us_truncatev4div4hi2_mask_store */

        case 14:
          if (!(
#line 9476 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 9439 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 2831; /* avx512vl_us_truncatev8hiv8qi2_mask */

        case 15:
          if (!
#line 9476 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2834; /* avx512vl_us_truncatev8siv8qi2_mask */

        case 16:
          if (!
#line 9835 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2915; /* avx512f_us_truncatev8div16qi2_mask */

        case 17:
          if (!(
#line 9522 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 9439 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 2843; /* avx512vl_us_truncatev8hiv8qi2_mask_store */

        case 18:
          if (!
#line 9522 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2846; /* avx512vl_us_truncatev8siv8qi2_mask_store */

        case 19:
          if (!
#line 9881 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2921; /* avx512f_us_truncatev8div16qi2_mask_store */

        case 20:
          if (!
#line 9312 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2795; /* *avx512vl_us_truncatev2div2qi2_mask_1 */

        case 21:
          if (!
#line 9678 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2888; /* *avx512vl_us_truncatev2div2hi2_mask_1 */

        case 22:
          if (!
#line 9759 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2903; /* *avx512vl_us_truncatev2div2si2_mask_1 */

        case 23:
          if (!
#line 9402 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2813; /* *avx512vl_us_truncatev4siv4qi2_mask_1 */

        case 24:
          if (!
#line 9402 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2816; /* *avx512vl_us_truncatev4div4qi2_mask_1 */

        case 25:
          if (!
#line 9599 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2870; /* *avx512vl_us_truncatev4siv4hi2_mask_1 */

        case 26:
          if (!
#line 9599 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2873; /* *avx512vl_us_truncatev4div4hi2_mask_1 */

        case 27:
          if (!(
#line 9497 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 9439 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 2837; /* *avx512vl_us_truncatev8hiv8qi2_mask_1 */

        case 28:
          if (!
#line 9497 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2840; /* *avx512vl_us_truncatev8siv8qi2_mask_1 */

        case 29:
          if (!
#line 9856 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2918; /* *avx512f_us_truncatev8div16qi2_mask_1 */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_122 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19, x20, x21, x22, x23, x24, x25;
  rtx x26, x27, x28, x29, x30, x31, x32;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) != VEC_CONCAT)
    return -1;
  x4 = XEXP (x2, 0);
  x5 = XEXP (x4, 0);
  switch (GET_CODE (x5))
    {
    case PLUS:
      switch (pattern225 (x2, PLUS))
        {
        case 0:
          if (!
#line 2133 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
            return -1;
          return 1599; /* avx_haddv4df3 */

        case 1:
          if (!
#line 2305 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE3))
            return -1;
          return 1607; /* sse3_haddv4sf3 */

        case 2:
          if (!
#line 14421 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3))
            return -1;
          return 3722; /* ssse3_phadddv4si3 */

        default:
          return -1;
        }

    case MINUS:
      switch (pattern225 (x2, MINUS))
        {
        case 0:
          if (!
#line 2133 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
            return -1;
          return 1600; /* avx_hsubv4df3 */

        case 1:
          if (!
#line 2305 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE3))
            return -1;
          return 1608; /* sse3_hsubv4sf3 */

        case 2:
          if (!
#line 14421 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3))
            return -1;
          return 3723; /* ssse3_phsubdv4si3 */

        default:
          return -1;
        }

    case VEC_CONCAT:
      x6 = XEXP (x4, 1);
      if (GET_CODE (x6) != VEC_CONCAT)
        return -1;
      x7 = XEXP (x3, 0);
      if (GET_CODE (x7) != VEC_CONCAT)
        return -1;
      x8 = XEXP (x3, 1);
      if (GET_CODE (x8) != VEC_CONCAT)
        return -1;
      x9 = XEXP (x5, 0);
      switch (GET_CODE (x9))
        {
        case PLUS:
          switch (pattern489 (x2, PLUS))
            {
            case 0:
              if (!
#line 2278 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
                return -1;
              return 1605; /* avx_haddv8sf3 */

            case 1:
              if (!
#line 14315 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3))
                return -1;
              return 3712; /* ssse3_phaddwv8hi3 */

            case 2:
              if (!
#line 14393 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))
                return -1;
              return 3720; /* avx2_phadddv8si3 */

            default:
              return -1;
            }

        case MINUS:
          switch (pattern489 (x2, MINUS))
            {
            case 0:
              if (!
#line 2278 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
                return -1;
              return 1606; /* avx_hsubv8sf3 */

            case 1:
              if (!
#line 14315 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3))
                return -1;
              return 3714; /* ssse3_phsubwv8hi3 */

            case 2:
              if (!
#line 14393 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))
                return -1;
              return 3721; /* avx2_phsubdv8si3 */

            default:
              return -1;
            }

        case VEC_CONCAT:
          if (GET_MODE (x9) != V2HImode)
            return -1;
          x10 = XEXP (x5, 1);
          if (GET_CODE (x10) != VEC_CONCAT
              || GET_MODE (x10) != V2HImode)
            return -1;
          x11 = XEXP (x6, 0);
          if (GET_CODE (x11) != VEC_CONCAT
              || GET_MODE (x11) != V2HImode)
            return -1;
          x12 = XEXP (x6, 1);
          if (GET_CODE (x12) != VEC_CONCAT
              || GET_MODE (x12) != V2HImode)
            return -1;
          x13 = XEXP (x7, 0);
          if (GET_CODE (x13) != VEC_CONCAT
              || GET_MODE (x13) != V2HImode)
            return -1;
          x14 = XEXP (x7, 1);
          if (GET_CODE (x14) != VEC_CONCAT
              || GET_MODE (x14) != V2HImode)
            return -1;
          x15 = XEXP (x8, 0);
          if (GET_CODE (x15) != VEC_CONCAT
              || GET_MODE (x15) != V2HImode)
            return -1;
          x16 = XEXP (x8, 1);
          if (GET_CODE (x16) != VEC_CONCAT
              || GET_MODE (x16) != V2HImode
              || !register_operand (operands[0], V16HImode)
              || GET_MODE (x2) != V16HImode
              || GET_MODE (x4) != V8HImode
              || GET_MODE (x5) != V4HImode)
            return -1;
          x17 = XEXP (x9, 0);
          if (GET_MODE (x17) != HImode)
            return -1;
          x18 = XEXP (x9, 1);
          if (GET_MODE (x18) != HImode)
            return -1;
          x19 = XEXP (x10, 0);
          if (GET_MODE (x19) != HImode)
            return -1;
          x20 = XEXP (x10, 1);
          if (GET_MODE (x20) != HImode
              || GET_MODE (x6) != V4HImode)
            return -1;
          x21 = XEXP (x11, 0);
          if (GET_MODE (x21) != HImode)
            return -1;
          x22 = XEXP (x11, 1);
          if (GET_MODE (x22) != HImode)
            return -1;
          x23 = XEXP (x12, 0);
          if (GET_MODE (x23) != HImode)
            return -1;
          x24 = XEXP (x12, 1);
          if (GET_MODE (x24) != HImode
              || GET_MODE (x3) != V8HImode
              || GET_MODE (x7) != V4HImode)
            return -1;
          x25 = XEXP (x13, 0);
          if (GET_MODE (x25) != HImode)
            return -1;
          x26 = XEXP (x13, 1);
          if (GET_MODE (x26) != HImode)
            return -1;
          x27 = XEXP (x14, 0);
          if (GET_MODE (x27) != HImode)
            return -1;
          x28 = XEXP (x14, 1);
          if (GET_MODE (x28) != HImode
              || GET_MODE (x8) != V4HImode)
            return -1;
          x29 = XEXP (x15, 0);
          if (GET_MODE (x29) != HImode)
            return -1;
          x30 = XEXP (x15, 1);
          if (GET_MODE (x30) != HImode)
            return -1;
          x31 = XEXP (x16, 0);
          if (GET_MODE (x31) != HImode)
            return -1;
          x32 = XEXP (x16, 1);
          if (GET_MODE (x32) != HImode)
            return -1;
          switch (GET_CODE (x17))
            {
            case PLUS:
              if (pattern980 (x2, PLUS) != 0
                  || !
#line 14271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))
                return -1;
              return 3708; /* avx2_phaddwv16hi3 */

            case SS_PLUS:
              if (pattern980 (x2, SS_PLUS) != 0
                  || !
#line 14271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))
                return -1;
              return 3709; /* avx2_phaddswv16hi3 */

            case MINUS:
              if (pattern980 (x2, MINUS) != 0
                  || !
#line 14271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))
                return -1;
              return 3710; /* avx2_phsubwv16hi3 */

            case SS_MINUS:
              if (pattern980 (x2, SS_MINUS) != 0
                  || !
#line 14271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))
                return -1;
              return 3711; /* avx2_phsubswv16hi3 */

            default:
              return -1;
            }

        case SS_PLUS:
          if (pattern490 (x2, SS_PLUS) != 0
              || !
#line 14315 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3))
            return -1;
          return 3713; /* ssse3_phaddswv8hi3 */

        case SS_MINUS:
          if (pattern490 (x2, SS_MINUS) != 0
              || !
#line 14315 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3))
            return -1;
          return 3715; /* ssse3_phsubswv8hi3 */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_123 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) != PARALLEL)
    return -1;
  x5 = XEXP (x3, 0);
  operands[1] = x5;
  switch (XVECLEN (x4, 0))
    {
    case 1:
      x6 = XVECEXP (x4, 0, 0);
      if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x7 = XEXP (x2, 1);
      switch (GET_CODE (x7))
        {
        case CONST_INT:
          if (XWINT (x7, 0) != 0LL
              || pattern435 (x2, V2DImode, DImode) != 0
              || !
#line 1100 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))
            return -1;
          return 1281; /* sse2_movq128 */

        case REG:
        case SUBREG:
        case MEM:
          operands[2] = x7;
          if (!nonimmediate_operand (operands[2], DFmode)
              || pattern538 (x2, V2DFmode, DFmode) != 0
              || !
#line 8894 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
            return -1;
          return 2718; /* sse2_loadhpd */

        default:
          return -1;
        }

    case 2:
      x6 = XVECEXP (x4, 0, 0);
      if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x8 = XVECEXP (x4, 0, 1);
      if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
        return -1;
      x7 = XEXP (x2, 1);
      operands[2] = x7;
      switch (GET_MODE (operands[0]))
        {
        case V4SFmode:
          if (pattern538 (x2, V4SFmode, V2SFmode) != 0
              || !nonimmediate_operand (operands[2], V2SFmode)
              || !
#line 6677 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE))
            return -1;
          return 2438; /* sse_loadhps */

        case V4DImode:
          if (pattern539 (x2, V2DImode, V4DImode) != 0
              || !
#line 18463 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && 1))
            return -1;
          return 4431; /* vec_set_hi_v4di */

        case V4DFmode:
          if (pattern539 (x2, V2DFmode, V4DFmode) != 0
              || !
#line 18463 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && 1))
            return -1;
          return 4433; /* vec_set_hi_v4df */

        default:
          return -1;
        }

    case 8:
      if (pattern310 (x4) != 0)
        return -1;
      x7 = XEXP (x2, 1);
      operands[2] = x7;
      switch (GET_MODE (operands[0]))
        {
        case V16SFmode:
          if (pattern539 (x2, V8SFmode, V16SFmode) != 0
              || !
#line 12621 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ))
            return -1;
          return 3604; /* vec_set_hi_v16sf */

        case V16SImode:
          if (pattern539 (x2, V8SImode, V16SImode) != 0
              || !
#line 12621 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ))
            return -1;
          return 3606; /* vec_set_hi_v16si */

        case V16HImode:
          if (pattern539 (x2, V8HImode, V16HImode) != 0
              || !
#line 18550 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
            return -1;
          return 4444; /* vec_set_hi_v16hi */

        default:
          return -1;
        }

    case 4:
      if (pattern311 (x4) != 0)
        return -1;
      x7 = XEXP (x2, 1);
      operands[2] = x7;
      switch (GET_MODE (operands[0]))
        {
        case V8DFmode:
          if (pattern539 (x2, V4DFmode, V8DFmode) != 0
              || !
#line 12651 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 3612; /* vec_set_hi_v8df */

        case V8DImode:
          if (pattern539 (x2, V4DImode, V8DImode) != 0
              || !
#line 12651 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 3614; /* vec_set_hi_v8di */

        case V8SImode:
          if (pattern539 (x2, V4SImode, V8SImode) != 0
              || !
#line 18507 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
            return -1;
          return 4439; /* vec_set_hi_v8si */

        case V8SFmode:
          if (pattern539 (x2, V4SFmode, V8SFmode) != 0
              || !
#line 18507 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
            return -1;
          return 4441; /* vec_set_hi_v8sf */

        default:
          return -1;
        }

    case 16:
      if (pattern310 (x4) != 0
          || pattern606 (x4) != 0
          || pattern728 (x4) != 0
          || !register_operand (operands[0], V32QImode)
          || GET_MODE (x2) != V32QImode
          || GET_MODE (x3) != V16QImode
          || !register_operand (operands[1], V32QImode))
        return -1;
      x7 = XEXP (x2, 1);
      operands[2] = x7;
      if (!nonimmediate_operand (operands[2], V16QImode)
          || !
#line 18598 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
        return -1;
      return 4446; /* vec_set_hi_v32qi */

    default:
      return -1;
    }
}

static int
recog_124 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 0);
  switch (GET_CODE (x3))
    {
    case REG:
    case SUBREG:
    case MEM:
      operands[1] = x3;
      switch (GET_MODE (operands[0]))
        {
        case V8SImode:
          if (!register_operand (operands[0], V8SImode)
              || GET_MODE (x2) != V8SImode)
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case V8SFmode:
              if (!vector_operand (operands[1], V8SFmode)
                  || !(
#line 4460 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1) && 
#line 335 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
                return -1;
              return 2135; /* avx_fix_notruncv8sfv8si */

            case V8DFmode:
              if (!vector_operand (operands[1], V8DFmode)
                  || !
#line 5033 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return -1;
              return 2271; /* avx512f_cvtpd2dq512 */

            default:
              return -1;
            }

        case V4SImode:
          if (!register_operand (operands[0], V4SImode)
              || GET_MODE (x2) != V4SImode)
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case V4SFmode:
              if (!vector_operand (operands[1], V4SFmode)
                  || !
#line 4460 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1))
                return -1;
              return 2137; /* sse2_fix_notruncv4sfv4si */

            case V4DFmode:
              if (!nonimmediate_operand (operands[1], V4DFmode)
                  || !
#line 5043 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && 1))
                return -1;
              return 2275; /* avx_cvtpd2dq256 */

            default:
              return -1;
            }

        case V16SImode:
          if (!register_operand (operands[0], V16SImode)
              || GET_MODE (x2) != V16SImode
              || !vector_operand (operands[1], V16SFmode)
              || !
#line 4476 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2139; /* avx512f_fix_notruncv16sfv16si */

        case V8DImode:
          if (!register_operand (operands[0], V8DImode)
              || GET_MODE (x2) != V8DImode)
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case V8SFmode:
              if (!nonimmediate_operand (operands[1], V8SFmode)
                  || !
#line 4497 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1))
                return -1;
              return 2155; /* *avx512dq_cvtps2qqv8di */

            case V8DFmode:
              if (!vector_operand (operands[1], V8DFmode)
                  || !
#line 5175 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1))
                return -1;
              return 2320; /* fix_notruncv8dfv8di2 */

            default:
              return -1;
            }

        case V4DImode:
          if (!register_operand (operands[0], V4DImode)
              || GET_MODE (x2) != V4DImode)
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case V4SFmode:
              if (!nonimmediate_operand (operands[1], V4SFmode)
                  || !(
#line 4497 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1) && 
#line 320 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 2159; /* *avx512dq_cvtps2qqv4di */

            case V4DFmode:
              if (!vector_operand (operands[1], V4DFmode)
                  || !(
#line 5175 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1) && 
#line 279 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 2324; /* fix_notruncv4dfv4di2 */

            default:
              return -1;
            }

        case V2DImode:
          if (!register_operand (operands[0], V2DImode)
              || GET_MODE (x2) != V2DImode
              || !vector_operand (operands[1], V2DFmode)
              || !(
#line 5175 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1) && 
#line 279 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 2326; /* fix_notruncv2dfv2di2 */

        default:
          return -1;
        }

    case VEC_SELECT:
      if (pattern242 (x2) != 0
          || !
#line 4510 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && TARGET_AVX512VL))
        return -1;
      return 2161; /* *avx512dq_cvtps2qqv2di */

    default:
      return -1;
    }
}

static int
recog_125 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 0);
  operands[1] = x3;
  switch (GET_MODE (operands[0]))
    {
    case V16SFmode:
      if (!memory_operand (operands[0], V16SFmode)
          || GET_MODE (x2) != V16SFmode
          || !register_operand (operands[1], V16SFmode)
          || !(
#line 1255 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
        return -1;
      return 1287; /* avx512f_movntv16sf */

    case V8SFmode:
      if (!memory_operand (operands[0], V8SFmode)
          || GET_MODE (x2) != V8SFmode
          || !register_operand (operands[1], V8SFmode)
          || !(
#line 1255 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
        return -1;
      return 1288; /* avx_movntv8sf */

    case V4SFmode:
      if (!memory_operand (operands[0], V4SFmode)
          || GET_MODE (x2) != V4SFmode
          || !register_operand (operands[1], V4SFmode)
          || !
#line 1255 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE))
        return -1;
      return 1289; /* sse_movntv4sf */

    case V8DFmode:
      if (!memory_operand (operands[0], V8DFmode)
          || GET_MODE (x2) != V8DFmode
          || !register_operand (operands[1], V8DFmode)
          || !(
#line 1255 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
        return -1;
      return 1290; /* avx512f_movntv8df */

    case V4DFmode:
      if (!memory_operand (operands[0], V4DFmode)
          || GET_MODE (x2) != V4DFmode
          || !register_operand (operands[1], V4DFmode)
          || !(
#line 1255 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
        return -1;
      return 1291; /* avx_movntv4df */

    case V2DFmode:
      if (!memory_operand (operands[0], V2DFmode)
          || GET_MODE (x2) != V2DFmode
          || !register_operand (operands[1], V2DFmode)
          || !(
#line 1255 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
        return -1;
      return 1292; /* sse2_movntv2df */

    case V8DImode:
      if (!memory_operand (operands[0], V8DImode)
          || GET_MODE (x2) != V8DImode
          || !register_operand (operands[1], V8DImode)
          || !(
#line 1265 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2) && 
#line 314 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
        return -1;
      return 1293; /* avx512f_movntv8di */

    case V4DImode:
      if (!memory_operand (operands[0], V4DImode)
          || GET_MODE (x2) != V4DImode
          || !register_operand (operands[1], V4DImode)
          || !(
#line 1265 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2) && 
#line 314 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
        return -1;
      return 1294; /* avx_movntv4di */

    case V2DImode:
      if (!memory_operand (operands[0], V2DImode)
          || GET_MODE (x2) != V2DImode
          || !register_operand (operands[1], V2DImode)
          || !
#line 1265 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))
        return -1;
      return 1295; /* sse2_movntv2di */

    default:
      return -1;
    }
}

static int
recog_126 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  int res ATTRIBUTE_UNUSED;
  if (pnum_clobbers == NULL)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) != MEM)
    return -1;
  operands[5] = x2;
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != UNSPEC
      || XVECLEN (x3, 0) != 3
      || XINT (x3, 1) != 147)
    return -1;
  x4 = XVECEXP (x3, 0, 0);
  operands[0] = x4;
  x5 = XVECEXP (x3, 0, 1);
  operands[2] = x5;
  x6 = XVECEXP (x3, 0, 2);
  operands[4] = x6;
  if (!const1248_operand (operands[4], SImode))
    return -1;
  x7 = XEXP (x1, 1);
  x8 = XVECEXP (x7, 0, 0);
  operands[6] = x8;
  x9 = XVECEXP (x7, 0, 1);
  operands[3] = x9;
  switch (GET_MODE (operands[5]))
    {
    case V16SImode:
      if (!vsib_mem_operator (operands[5], V16SImode)
          || GET_MODE (x7) != V16SImode)
        return -1;
      switch (GET_MODE (x3))
        {
        case SImode:
          switch (pattern821 (SImode))
            {
            case 0:
              if (!(
#line 19318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return -1;
              *pnum_clobbers = 1;
              return 4717; /* *avx512f_scattersiv16si */

            case 1:
              if (!(
#line 19354 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return -1;
              *pnum_clobbers = 1;
              return 4741; /* *avx512f_scatterdiv16si */

            default:
              return -1;
            }

        case DImode:
          switch (pattern821 (DImode))
            {
            case 0:
              if (!(
#line 19318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return -1;
              *pnum_clobbers = 1;
              return 4718; /* *avx512f_scattersiv16si */

            case 1:
              if (!(
#line 19354 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return -1;
              *pnum_clobbers = 1;
              return 4742; /* *avx512f_scatterdiv16si */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case V16SFmode:
      if (!vsib_mem_operator (operands[5], V16SFmode)
          || GET_MODE (x7) != V16SFmode)
        return -1;
      switch (GET_MODE (x3))
        {
        case SImode:
          switch (pattern822 (SImode))
            {
            case 0:
              if (!(
#line 19318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return -1;
              *pnum_clobbers = 1;
              return 4719; /* *avx512f_scattersiv16sf */

            case 1:
              if (!(
#line 19354 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return -1;
              *pnum_clobbers = 1;
              return 4743; /* *avx512f_scatterdiv16sf */

            default:
              return -1;
            }

        case DImode:
          switch (pattern822 (DImode))
            {
            case 0:
              if (!(
#line 19318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return -1;
              *pnum_clobbers = 1;
              return 4720; /* *avx512f_scattersiv16sf */

            case 1:
              if (!(
#line 19354 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return -1;
              *pnum_clobbers = 1;
              return 4744; /* *avx512f_scatterdiv16sf */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case V8DImode:
      switch (pattern760 (x1, V8DImode))
        {
        case 0:
          if (!(
#line 19318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
            return -1;
          *pnum_clobbers = 1;
          return 4721; /* *avx512f_scattersiv8di */

        case 1:
          if (!(
#line 19354 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
            return -1;
          *pnum_clobbers = 1;
          return 4745; /* *avx512f_scatterdiv8di */

        case 2:
          if (!(
#line 19318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
            return -1;
          *pnum_clobbers = 1;
          return 4722; /* *avx512f_scattersiv8di */

        case 3:
          if (!(
#line 19354 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
            return -1;
          *pnum_clobbers = 1;
          return 4746; /* *avx512f_scatterdiv8di */

        default:
          return -1;
        }

    case V8DFmode:
      switch (pattern760 (x1, V8DFmode))
        {
        case 0:
          if (!(
#line 19318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
            return -1;
          *pnum_clobbers = 1;
          return 4723; /* *avx512f_scattersiv8df */

        case 1:
          if (!(
#line 19354 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
            return -1;
          *pnum_clobbers = 1;
          return 4747; /* *avx512f_scatterdiv8df */

        case 2:
          if (!(
#line 19318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
            return -1;
          *pnum_clobbers = 1;
          return 4724; /* *avx512f_scattersiv8df */

        case 3:
          if (!(
#line 19354 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
            return -1;
          *pnum_clobbers = 1;
          return 4748; /* *avx512f_scatterdiv8df */

        default:
          return -1;
        }

    case V8SImode:
      switch (pattern761 (x1, V8SImode))
        {
        case 0:
          switch (pattern851 (SImode))
            {
            case 0:
              if (!(
#line 19318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((((
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)) && 
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              *pnum_clobbers = 1;
              return 4725; /* *avx512f_scattersiv8si */

            case 1:
              if (!(
#line 19354 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && (((
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              *pnum_clobbers = 1;
              return 4749; /* *avx512f_scatterdiv8si */

            default:
              return -1;
            }

        case 1:
          switch (pattern851 (DImode))
            {
            case 0:
              if (!(
#line 19318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((((
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)) && 
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              *pnum_clobbers = 1;
              return 4726; /* *avx512f_scattersiv8si */

            case 1:
              if (!(
#line 19354 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && (((
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              *pnum_clobbers = 1;
              return 4750; /* *avx512f_scatterdiv8si */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case V8SFmode:
      switch (pattern761 (x1, V8SFmode))
        {
        case 0:
          switch (pattern852 (SImode))
            {
            case 0:
              if (!(
#line 19318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((((
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)) && 
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              *pnum_clobbers = 1;
              return 4727; /* *avx512f_scattersiv8sf */

            case 1:
              if (!(
#line 19354 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && (((
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              *pnum_clobbers = 1;
              return 4751; /* *avx512f_scatterdiv8sf */

            default:
              return -1;
            }

        case 1:
          switch (pattern852 (DImode))
            {
            case 0:
              if (!(
#line 19318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((((
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)) && 
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              *pnum_clobbers = 1;
              return 4728; /* *avx512f_scattersiv8sf */

            case 1:
              if (!(
#line 19354 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && (((
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              *pnum_clobbers = 1;
              return 4752; /* *avx512f_scatterdiv8sf */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case V4DImode:
      switch (pattern763 (x1, V4DImode))
        {
        case 0:
          if (!(
#line 19318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((((
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)) && 
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          *pnum_clobbers = 1;
          return 4729; /* *avx512f_scattersiv4di */

        case 1:
          if (!(
#line 19354 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && (((
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          *pnum_clobbers = 1;
          return 4753; /* *avx512f_scatterdiv4di */

        case 2:
          if (!(
#line 19318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((((
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)) && 
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          *pnum_clobbers = 1;
          return 4730; /* *avx512f_scattersiv4di */

        case 3:
          if (!(
#line 19354 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && (((
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          *pnum_clobbers = 1;
          return 4754; /* *avx512f_scatterdiv4di */

        default:
          return -1;
        }

    case V4DFmode:
      switch (pattern763 (x1, V4DFmode))
        {
        case 0:
          if (!(
#line 19318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((((
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)) && 
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          *pnum_clobbers = 1;
          return 4731; /* *avx512f_scattersiv4df */

        case 1:
          if (!(
#line 19354 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && (((
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          *pnum_clobbers = 1;
          return 4755; /* *avx512f_scatterdiv4df */

        case 2:
          if (!(
#line 19318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((((
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)) && 
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          *pnum_clobbers = 1;
          return 4732; /* *avx512f_scattersiv4df */

        case 3:
          if (!(
#line 19354 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && (((
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          *pnum_clobbers = 1;
          return 4756; /* *avx512f_scatterdiv4df */

        default:
          return -1;
        }

    case V4SImode:
      switch (pattern765 (x1, V4SImode))
        {
        case 0:
          if (!(
#line 19318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((((
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)) && 
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          *pnum_clobbers = 1;
          return 4733; /* *avx512f_scattersiv4si */

        case 1:
          if (!(
#line 19354 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && (((
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          *pnum_clobbers = 1;
          return 4757; /* *avx512f_scatterdiv4si */

        case 2:
          if (!(
#line 19318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((((
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)) && 
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          *pnum_clobbers = 1;
          return 4734; /* *avx512f_scattersiv4si */

        case 3:
          if (!(
#line 19354 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && (((
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          *pnum_clobbers = 1;
          return 4758; /* *avx512f_scatterdiv4si */

        default:
          return -1;
        }

    case V4SFmode:
      switch (pattern765 (x1, V4SFmode))
        {
        case 0:
          if (!(
#line 19318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((((
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)) && 
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          *pnum_clobbers = 1;
          return 4735; /* *avx512f_scattersiv4sf */

        case 1:
          if (!(
#line 19354 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && (((
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          *pnum_clobbers = 1;
          return 4759; /* *avx512f_scatterdiv4sf */

        case 2:
          if (!(
#line 19318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((((
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)) && 
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          *pnum_clobbers = 1;
          return 4736; /* *avx512f_scattersiv4sf */

        case 3:
          if (!(
#line 19354 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && (((
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          *pnum_clobbers = 1;
          return 4760; /* *avx512f_scatterdiv4sf */

        default:
          return -1;
        }

    case V2DImode:
      switch (pattern765 (x1, V2DImode))
        {
        case 0:
          if (!(
#line 19318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((((
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)) && 
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          *pnum_clobbers = 1;
          return 4737; /* *avx512f_scattersiv2di */

        case 1:
          if (!(
#line 19354 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && (((
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          *pnum_clobbers = 1;
          return 4761; /* *avx512f_scatterdiv2di */

        case 2:
          if (!(
#line 19318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((((
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)) && 
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          *pnum_clobbers = 1;
          return 4738; /* *avx512f_scattersiv2di */

        case 3:
          if (!(
#line 19354 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && (((
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          *pnum_clobbers = 1;
          return 4762; /* *avx512f_scatterdiv2di */

        default:
          return -1;
        }

    case V2DFmode:
      switch (pattern765 (x1, V2DFmode))
        {
        case 0:
          if (!(
#line 19318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((((
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)) && 
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          *pnum_clobbers = 1;
          return 4739; /* *avx512f_scattersiv2df */

        case 1:
          if (!(
#line 19354 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && (((
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          *pnum_clobbers = 1;
          return 4763; /* *avx512f_scatterdiv2df */

        case 2:
          if (!(
#line 19318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((((
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)) && 
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          *pnum_clobbers = 1;
          return 4740; /* *avx512f_scattersiv2df */

        case 3:
          if (!(
#line 19354 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && (((
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          *pnum_clobbers = 1;
          return 4764; /* *avx512f_scatterdiv2df */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_127 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[1] = x4;
  x5 = XVECEXP (x3, 0, 1);
  operands[2] = x5;
  switch (GET_MODE (operands[0]))
    {
    case V16SFmode:
      if (pattern377 (x3, V16SFmode) != 0
          || !
#line 8421 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
        return -1;
      return 2665; /* avx512f_rndscalev16sf */

    case V8SFmode:
      if (!register_operand (operands[0], V8SFmode)
          || GET_MODE (x3) != V8SFmode)
        return -1;
      if (nonimmediate_operand (operands[1], V8SFmode)
          && const_0_to_255_operand (operands[2], SImode)
          && (
#line 8421 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return 2669; /* avx512vl_rndscalev8sf */
      if (!vector_operand (operands[1], V8SFmode)
          || !const_0_to_15_operand (operands[2], SImode)
          || !(
#line 15516 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_ROUND) && 
#line 230 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
        return -1;
      return 3921; /* avx_roundps256 */

    case V4SFmode:
      if (!register_operand (operands[0], V4SFmode)
          || GET_MODE (x3) != V4SFmode)
        return -1;
      if (nonimmediate_operand (operands[1], V4SFmode)
          && const_0_to_255_operand (operands[2], SImode)
          && (
#line 8421 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return 2673; /* avx512vl_rndscalev4sf */
      if (!vector_operand (operands[1], V4SFmode)
          || !const_0_to_15_operand (operands[2], SImode)
          || !
#line 15516 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_ROUND))
        return -1;
      return 3922; /* sse4_1_roundps */

    case V8DFmode:
      if (pattern377 (x3, V8DFmode) != 0
          || !
#line 8421 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
        return -1;
      return 2677; /* avx512f_rndscalev8df */

    case V4DFmode:
      if (!register_operand (operands[0], V4DFmode)
          || GET_MODE (x3) != V4DFmode)
        return -1;
      if (nonimmediate_operand (operands[1], V4DFmode)
          && const_0_to_255_operand (operands[2], SImode)
          && (
#line 8421 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return 2681; /* avx512vl_rndscalev4df */
      if (!vector_operand (operands[1], V4DFmode)
          || !const_0_to_15_operand (operands[2], SImode)
          || !(
#line 15516 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_ROUND) && 
#line 231 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
        return -1;
      return 3923; /* avx_roundpd256 */

    case V2DFmode:
      if (!register_operand (operands[0], V2DFmode)
          || GET_MODE (x3) != V2DFmode)
        return -1;
      if (nonimmediate_operand (operands[1], V2DFmode)
          && const_0_to_255_operand (operands[2], SImode)
          && (
#line 8421 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return 2685; /* avx512vl_rndscalev2df */
      if (!vector_operand (operands[1], V2DFmode)
          || !const_0_to_15_operand (operands[2], SImode)
          || !(
#line 15516 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_ROUND) && 
#line 231 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
        return -1;
      return 3924; /* sse4_1_roundpd */

    default:
      return -1;
    }
}

static int
recog_128 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10;
  int res ATTRIBUTE_UNUSED;
  if (pnum_clobbers == NULL)
    return -1;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 2);
  if (GET_CODE (x3) != MEM)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != UNSPEC
      || XVECLEN (x4, 0) != 3
      || XINT (x4, 1) != 147)
    return -1;
  x5 = XEXP (x1, 0);
  operands[0] = x5;
  x6 = XVECEXP (x4, 0, 2);
  if (!const1248_operand (x6, SImode))
    return -1;
  x7 = XVECEXP (x2, 0, 0);
  switch (GET_CODE (x7))
    {
    case REG:
    case SUBREG:
      operands[1] = x7;
      x8 = XVECEXP (x2, 0, 1);
      operands[7] = x8;
      operands[6] = x3;
      x9 = XVECEXP (x4, 0, 0);
      operands[4] = x9;
      x10 = XVECEXP (x4, 0, 1);
      operands[3] = x10;
      operands[5] = x6;
      switch (GET_MODE (operands[0]))
        {
        case V16SImode:
          if (!register_operand (operands[0], V16SImode)
              || GET_MODE (x2) != V16SImode
              || !vsib_mem_operator (operands[6], SImode))
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case V16SImode:
              if (!register_operand (operands[1], V16SImode)
                  || !register_operand (operands[7], HImode))
                return -1;
              switch (pattern920 (x4, V16SImode))
                {
                case 0:
                  if (!(
#line 19194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  *pnum_clobbers = 1;
                  return 4621; /* *avx512f_gathersiv16si */

                case 1:
                  if (!(
#line 19194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  *pnum_clobbers = 1;
                  return 4622; /* *avx512f_gathersiv16si */

                default:
                  return -1;
                }

            case V8SImode:
              if (!register_operand (operands[1], V8SImode)
                  || !register_operand (operands[7], QImode))
                return -1;
              switch (pattern920 (x4, V8DImode))
                {
                case 0:
                  if (!(
#line 19252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  *pnum_clobbers = 1;
                  return 4669; /* *avx512f_gatherdiv16si */

                case 1:
                  if (!(
#line 19252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  *pnum_clobbers = 1;
                  return 4670; /* *avx512f_gatherdiv16si */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case V16SFmode:
          if (!register_operand (operands[0], V16SFmode)
              || GET_MODE (x2) != V16SFmode
              || !vsib_mem_operator (operands[6], SFmode))
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case V16SFmode:
              if (!register_operand (operands[1], V16SFmode)
                  || !register_operand (operands[7], HImode))
                return -1;
              switch (pattern920 (x4, V16SImode))
                {
                case 0:
                  if (!(
#line 19194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  *pnum_clobbers = 1;
                  return 4623; /* *avx512f_gathersiv16sf */

                case 1:
                  if (!(
#line 19194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  *pnum_clobbers = 1;
                  return 4624; /* *avx512f_gathersiv16sf */

                default:
                  return -1;
                }

            case V8SFmode:
              if (!register_operand (operands[1], V8SFmode)
                  || !register_operand (operands[7], QImode))
                return -1;
              switch (pattern920 (x4, V8DImode))
                {
                case 0:
                  if (!(
#line 19252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  *pnum_clobbers = 1;
                  return 4671; /* *avx512f_gatherdiv16sf */

                case 1:
                  if (!(
#line 19252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  *pnum_clobbers = 1;
                  return 4672; /* *avx512f_gatherdiv16sf */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case V8DImode:
          switch (pattern809 (x2, DImode, V8DImode))
            {
            case 0:
              if (!(
#line 19194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return -1;
              *pnum_clobbers = 1;
              return 4625; /* *avx512f_gathersiv8di */

            case 1:
              if (!(
#line 19252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return -1;
              *pnum_clobbers = 1;
              return 4673; /* *avx512f_gatherdiv8di */

            case 2:
              if (!(
#line 19194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return -1;
              *pnum_clobbers = 1;
              return 4626; /* *avx512f_gathersiv8di */

            case 3:
              if (!(
#line 19252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return -1;
              *pnum_clobbers = 1;
              return 4674; /* *avx512f_gatherdiv8di */

            default:
              return -1;
            }

        case V8DFmode:
          switch (pattern809 (x2, DFmode, V8DFmode))
            {
            case 0:
              if (!(
#line 19194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return -1;
              *pnum_clobbers = 1;
              return 4627; /* *avx512f_gathersiv8df */

            case 1:
              if (!(
#line 19252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return -1;
              *pnum_clobbers = 1;
              return 4675; /* *avx512f_gatherdiv8df */

            case 2:
              if (!(
#line 19194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return -1;
              *pnum_clobbers = 1;
              return 4628; /* *avx512f_gathersiv8df */

            case 3:
              if (!(
#line 19252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return -1;
              *pnum_clobbers = 1;
              return 4676; /* *avx512f_gatherdiv8df */

            default:
              return -1;
            }

        case V8SImode:
          if (pattern810 (x2, SImode, V8SImode) != 0)
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case V8SImode:
              if (!register_operand (operands[1], V8SImode))
                return -1;
              switch (pattern920 (x4, V8SImode))
                {
                case 0:
                  if (!(
#line 19194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                    return -1;
                  *pnum_clobbers = 1;
                  return 4629; /* *avx512f_gathersiv8si */

                case 1:
                  if (!(
#line 19194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                    return -1;
                  *pnum_clobbers = 1;
                  return 4630; /* *avx512f_gathersiv8si */

                default:
                  return -1;
                }

            case V4SImode:
              if (!register_operand (operands[1], V4SImode))
                return -1;
              switch (pattern920 (x4, V4DImode))
                {
                case 0:
                  if (!(
#line 19252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                    return -1;
                  *pnum_clobbers = 1;
                  return 4677; /* *avx512f_gatherdiv8si */

                case 1:
                  if (!(
#line 19252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                    return -1;
                  *pnum_clobbers = 1;
                  return 4678; /* *avx512f_gatherdiv8si */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case V8SFmode:
          if (pattern810 (x2, SFmode, V8SFmode) != 0)
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case V8SFmode:
              if (!register_operand (operands[1], V8SFmode))
                return -1;
              switch (pattern920 (x4, V8SImode))
                {
                case 0:
                  if (!(
#line 19194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                    return -1;
                  *pnum_clobbers = 1;
                  return 4631; /* *avx512f_gathersiv8sf */

                case 1:
                  if (!(
#line 19194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                    return -1;
                  *pnum_clobbers = 1;
                  return 4632; /* *avx512f_gathersiv8sf */

                default:
                  return -1;
                }

            case V4SFmode:
              if (!register_operand (operands[1], V4SFmode))
                return -1;
              switch (pattern920 (x4, V4DImode))
                {
                case 0:
                  if (!(
#line 19252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                    return -1;
                  *pnum_clobbers = 1;
                  return 4679; /* *avx512f_gatherdiv8sf */

                case 1:
                  if (!(
#line 19252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                    return -1;
                  *pnum_clobbers = 1;
                  return 4680; /* *avx512f_gatherdiv8sf */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case V4DImode:
          switch (pattern812 (x2, DImode, V4DImode))
            {
            case 0:
              if (!(
#line 19194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4633; /* *avx512f_gathersiv4di */

            case 1:
              if (!(
#line 19252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4681; /* *avx512f_gatherdiv4di */

            case 2:
              if (!(
#line 19194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4634; /* *avx512f_gathersiv4di */

            case 3:
              if (!(
#line 19252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4682; /* *avx512f_gatherdiv4di */

            default:
              return -1;
            }

        case V4DFmode:
          switch (pattern812 (x2, DFmode, V4DFmode))
            {
            case 0:
              if (!(
#line 19194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4635; /* *avx512f_gathersiv4df */

            case 1:
              if (!(
#line 19252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4683; /* *avx512f_gatherdiv4df */

            case 2:
              if (!(
#line 19194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4636; /* *avx512f_gathersiv4df */

            case 3:
              if (!(
#line 19252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4684; /* *avx512f_gatherdiv4df */

            default:
              return -1;
            }

        case V4SImode:
          switch (pattern814 (x2, SImode, V4SImode))
            {
            case 0:
              if (!(
#line 19194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4637; /* *avx512f_gathersiv4si */

            case 1:
              if (!(
#line 19252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4685; /* *avx512f_gatherdiv4si */

            case 2:
              if (!(
#line 19194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4638; /* *avx512f_gathersiv4si */

            case 3:
              if (!(
#line 19252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4686; /* *avx512f_gatherdiv4si */

            default:
              return -1;
            }

        case V4SFmode:
          switch (pattern814 (x2, SFmode, V4SFmode))
            {
            case 0:
              if (!(
#line 19194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4639; /* *avx512f_gathersiv4sf */

            case 1:
              if (!(
#line 19252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4687; /* *avx512f_gatherdiv4sf */

            case 2:
              if (!(
#line 19194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4640; /* *avx512f_gathersiv4sf */

            case 3:
              if (!(
#line 19252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4688; /* *avx512f_gatherdiv4sf */

            default:
              return -1;
            }

        case V2DImode:
          switch (pattern814 (x2, DImode, V2DImode))
            {
            case 0:
              if (!(
#line 19194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4641; /* *avx512f_gathersiv2di */

            case 1:
              if (!(
#line 19252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4689; /* *avx512f_gatherdiv2di */

            case 2:
              if (!(
#line 19194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4642; /* *avx512f_gathersiv2di */

            case 3:
              if (!(
#line 19252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4690; /* *avx512f_gatherdiv2di */

            default:
              return -1;
            }

        case V2DFmode:
          switch (pattern814 (x2, DFmode, V2DFmode))
            {
            case 0:
              if (!(
#line 19194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4643; /* *avx512f_gathersiv2df */

            case 1:
              if (!(
#line 19252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4691; /* *avx512f_gatherdiv2df */

            case 2:
              if (!(
#line 19194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4644; /* *avx512f_gathersiv2df */

            case 3:
              if (!(
#line 19252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4692; /* *avx512f_gatherdiv2df */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case PC:
      x8 = XVECEXP (x2, 0, 1);
      operands[6] = x8;
      operands[5] = x3;
      x9 = XVECEXP (x4, 0, 0);
      operands[3] = x9;
      x10 = XVECEXP (x4, 0, 1);
      operands[2] = x10;
      operands[4] = x6;
      switch (GET_MODE (operands[0]))
        {
        case V16SImode:
          switch (pattern778 (x2, SImode, V16SImode))
            {
            case 0:
              if (!(
#line 19213 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return -1;
              *pnum_clobbers = 1;
              return 4645; /* *avx512f_gathersiv16si_2 */

            case 1:
              if (!(
#line 19213 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return -1;
              *pnum_clobbers = 1;
              return 4646; /* *avx512f_gathersiv16si_2 */

            case 2:
              if (!(
#line 19273 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return -1;
              *pnum_clobbers = 1;
              return 4693; /* *avx512f_gatherdiv16si_2 */

            case 3:
              if (!(
#line 19273 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return -1;
              *pnum_clobbers = 1;
              return 4694; /* *avx512f_gatherdiv16si_2 */

            default:
              return -1;
            }

        case V16SFmode:
          switch (pattern778 (x2, SFmode, V16SFmode))
            {
            case 0:
              if (!(
#line 19213 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return -1;
              *pnum_clobbers = 1;
              return 4647; /* *avx512f_gathersiv16sf_2 */

            case 1:
              if (!(
#line 19213 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return -1;
              *pnum_clobbers = 1;
              return 4648; /* *avx512f_gathersiv16sf_2 */

            case 2:
              if (!(
#line 19273 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return -1;
              *pnum_clobbers = 1;
              return 4695; /* *avx512f_gatherdiv16sf_2 */

            case 3:
              if (!(
#line 19273 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return -1;
              *pnum_clobbers = 1;
              return 4696; /* *avx512f_gatherdiv16sf_2 */

            default:
              return -1;
            }

        case V8DImode:
          switch (pattern780 (x2, DImode, V8DImode))
            {
            case 0:
              if (!(
#line 19213 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return -1;
              *pnum_clobbers = 1;
              return 4649; /* *avx512f_gathersiv8di_2 */

            case 1:
              if (!(
#line 19273 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return -1;
              *pnum_clobbers = 1;
              return 4697; /* *avx512f_gatherdiv8di_2 */

            case 2:
              if (!(
#line 19213 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return -1;
              *pnum_clobbers = 1;
              return 4650; /* *avx512f_gathersiv8di_2 */

            case 3:
              if (!(
#line 19273 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return -1;
              *pnum_clobbers = 1;
              return 4698; /* *avx512f_gatherdiv8di_2 */

            default:
              return -1;
            }

        case V8DFmode:
          switch (pattern780 (x2, DFmode, V8DFmode))
            {
            case 0:
              if (!(
#line 19213 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return -1;
              *pnum_clobbers = 1;
              return 4651; /* *avx512f_gathersiv8df_2 */

            case 1:
              if (!(
#line 19273 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return -1;
              *pnum_clobbers = 1;
              return 4699; /* *avx512f_gatherdiv8df_2 */

            case 2:
              if (!(
#line 19213 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return -1;
              *pnum_clobbers = 1;
              return 4652; /* *avx512f_gathersiv8df_2 */

            case 3:
              if (!(
#line 19273 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return -1;
              *pnum_clobbers = 1;
              return 4700; /* *avx512f_gatherdiv8df_2 */

            default:
              return -1;
            }

        case V8SImode:
          switch (pattern782 (x2, SImode, V8SImode))
            {
            case 0:
              if (!(
#line 19213 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4653; /* *avx512f_gathersiv8si_2 */

            case 1:
              if (!(
#line 19273 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4701; /* *avx512f_gatherdiv8si_2 */

            case 2:
              if (!(
#line 19213 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4654; /* *avx512f_gathersiv8si_2 */

            case 3:
              if (!(
#line 19273 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4702; /* *avx512f_gatherdiv8si_2 */

            default:
              return -1;
            }

        case V8SFmode:
          switch (pattern782 (x2, SFmode, V8SFmode))
            {
            case 0:
              if (!(
#line 19213 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4655; /* *avx512f_gathersiv8sf_2 */

            case 1:
              if (!(
#line 19273 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4703; /* *avx512f_gatherdiv8sf_2 */

            case 2:
              if (!(
#line 19213 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4656; /* *avx512f_gathersiv8sf_2 */

            case 3:
              if (!(
#line 19273 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4704; /* *avx512f_gatherdiv8sf_2 */

            default:
              return -1;
            }

        case V4DImode:
          switch (pattern784 (x2, DImode, V4DImode))
            {
            case 0:
              if (!(
#line 19213 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4657; /* *avx512f_gathersiv4di_2 */

            case 1:
              if (!(
#line 19273 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4705; /* *avx512f_gatherdiv4di_2 */

            case 2:
              if (!(
#line 19213 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4658; /* *avx512f_gathersiv4di_2 */

            case 3:
              if (!(
#line 19273 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4706; /* *avx512f_gatherdiv4di_2 */

            default:
              return -1;
            }

        case V4DFmode:
          switch (pattern784 (x2, DFmode, V4DFmode))
            {
            case 0:
              if (!(
#line 19213 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4659; /* *avx512f_gathersiv4df_2 */

            case 1:
              if (!(
#line 19273 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4707; /* *avx512f_gatherdiv4df_2 */

            case 2:
              if (!(
#line 19213 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4660; /* *avx512f_gathersiv4df_2 */

            case 3:
              if (!(
#line 19273 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4708; /* *avx512f_gatherdiv4df_2 */

            default:
              return -1;
            }

        case V4SImode:
          switch (pattern786 (x2, SImode, V4SImode))
            {
            case 0:
              if (!(
#line 19213 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4661; /* *avx512f_gathersiv4si_2 */

            case 1:
              if (!(
#line 19273 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4709; /* *avx512f_gatherdiv4si_2 */

            case 2:
              if (!(
#line 19213 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4662; /* *avx512f_gathersiv4si_2 */

            case 3:
              if (!(
#line 19273 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4710; /* *avx512f_gatherdiv4si_2 */

            default:
              return -1;
            }

        case V4SFmode:
          switch (pattern786 (x2, SFmode, V4SFmode))
            {
            case 0:
              if (!(
#line 19213 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4663; /* *avx512f_gathersiv4sf_2 */

            case 1:
              if (!(
#line 19273 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4711; /* *avx512f_gatherdiv4sf_2 */

            case 2:
              if (!(
#line 19213 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4664; /* *avx512f_gathersiv4sf_2 */

            case 3:
              if (!(
#line 19273 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4712; /* *avx512f_gatherdiv4sf_2 */

            default:
              return -1;
            }

        case V2DImode:
          switch (pattern786 (x2, DImode, V2DImode))
            {
            case 0:
              if (!(
#line 19213 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4665; /* *avx512f_gathersiv2di_2 */

            case 1:
              if (!(
#line 19273 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4713; /* *avx512f_gatherdiv2di_2 */

            case 2:
              if (!(
#line 19213 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4666; /* *avx512f_gathersiv2di_2 */

            case 3:
              if (!(
#line 19273 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4714; /* *avx512f_gatherdiv2di_2 */

            default:
              return -1;
            }

        case V2DFmode:
          switch (pattern786 (x2, DFmode, V2DFmode))
            {
            case 0:
              if (!(
#line 19213 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4667; /* *avx512f_gathersiv2df_2 */

            case 1:
              if (!(
#line 19273 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4715; /* *avx512f_gatherdiv2df_2 */

            case 2:
              if (!(
#line 19213 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4668; /* *avx512f_gathersiv2df_2 */

            case 3:
              if (!(
#line 19273 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              *pnum_clobbers = 1;
              return 4716; /* *avx512f_gatherdiv2df_2 */

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_129 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[1] = x4;
  x5 = XVECEXP (x3, 0, 1);
  operands[2] = x5;
  x6 = XVECEXP (x3, 0, 2);
  switch (GET_CODE (x6))
    {
    case REG:
    case SUBREG:
    case MEM:
      operands[3] = x6;
      switch (GET_MODE (operands[0]))
        {
        case V8SFmode:
          if (!register_operand (operands[0], V8SFmode)
              || GET_MODE (x3) != V8SFmode)
            return -1;
          if (nonimmediate_operand (operands[1], V8SFmode)
              && nonimmediate_operand (operands[2], V8SFmode)
              && nonimmediate_operand (operands[3], V8SFmode)
              && (
#line 3911 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4) && 
#line 230 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return 1975; /* *fma_fmaddsub_v8sf */
          if (!vector_operand (operands[1], V8SFmode)
              || !vector_operand (operands[2], V8SFmode)
              || !vector_operand (operands[3], V8SFmode)
              || !(
#line 3929 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && 1) && 
#line 3616 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 1984; /* *fma_fmaddsub_v8sf */

        case V4SFmode:
          if (!register_operand (operands[0], V4SFmode)
              || GET_MODE (x3) != V4SFmode)
            return -1;
          if (nonimmediate_operand (operands[1], V4SFmode)
              && nonimmediate_operand (operands[2], V4SFmode)
              && nonimmediate_operand (operands[3], V4SFmode)
              && 
#line 3911 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
            return 1976; /* *fma_fmaddsub_v4sf */
          if (!vector_operand (operands[1], V4SFmode)
              || !vector_operand (operands[2], V4SFmode)
              || !vector_operand (operands[3], V4SFmode)
              || !(
#line 3929 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && 1) && 
#line 3616 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 1986; /* *fma_fmaddsub_v4sf */

        case V4DFmode:
          if (!register_operand (operands[0], V4DFmode)
              || GET_MODE (x3) != V4DFmode)
            return -1;
          if (nonimmediate_operand (operands[1], V4DFmode)
              && nonimmediate_operand (operands[2], V4DFmode)
              && nonimmediate_operand (operands[3], V4DFmode)
              && (
#line 3911 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4) && 
#line 231 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return 1977; /* *fma_fmaddsub_v4df */
          if (!vector_operand (operands[1], V4DFmode)
              || !vector_operand (operands[2], V4DFmode)
              || !vector_operand (operands[3], V4DFmode)
              || !(
#line 3929 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && 1) && 
#line 3617 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 1993; /* *fma_fmaddsub_v4df */

        case V2DFmode:
          if (!register_operand (operands[0], V2DFmode)
              || GET_MODE (x3) != V2DFmode)
            return -1;
          if (nonimmediate_operand (operands[1], V2DFmode)
              && nonimmediate_operand (operands[2], V2DFmode)
              && nonimmediate_operand (operands[3], V2DFmode)
              && (
#line 3911 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4) && 
#line 231 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
            return 1978; /* *fma_fmaddsub_v2df */
          if (!vector_operand (operands[1], V2DFmode)
              || !vector_operand (operands[2], V2DFmode)
              || !vector_operand (operands[3], V2DFmode)
              || !(
#line 3929 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && 1) && 
#line 3617 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 1995; /* *fma_fmaddsub_v2df */

        case V16SFmode:
          if (pattern461 (x3, V16SFmode) != 0
              || !
#line 3929 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && 1))
            return -1;
          return 1980; /* *fma_fmaddsub_v16sf */

        case V8DFmode:
          if (pattern461 (x3, V8DFmode) != 0
              || !
#line 3929 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && 1))
            return -1;
          return 1989; /* *fma_fmaddsub_v8df */

        default:
          return -1;
        }

    case NEG:
      x7 = XEXP (x6, 0);
      operands[3] = x7;
      switch (GET_MODE (operands[0]))
        {
        case V8SFmode:
          if (!register_operand (operands[0], V8SFmode)
              || GET_MODE (x3) != V8SFmode
              || GET_MODE (x6) != V8SFmode)
            return -1;
          if (nonimmediate_operand (operands[1], V8SFmode)
              && nonimmediate_operand (operands[2], V8SFmode)
              && nonimmediate_operand (operands[3], V8SFmode)
              && (
#line 3979 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4) && 
#line 230 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return 2021; /* *fma_fmsubadd_v8sf */
          if (!vector_operand (operands[1], V8SFmode)
              || !vector_operand (operands[2], V8SFmode)
              || !vector_operand (operands[3], V8SFmode)
              || !(
#line 3998 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && 1) && 
#line 3616 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 2030; /* *fma_fmsubadd_v8sf */

        case V4SFmode:
          if (!register_operand (operands[0], V4SFmode)
              || GET_MODE (x3) != V4SFmode
              || GET_MODE (x6) != V4SFmode)
            return -1;
          if (nonimmediate_operand (operands[1], V4SFmode)
              && nonimmediate_operand (operands[2], V4SFmode)
              && nonimmediate_operand (operands[3], V4SFmode)
              && 
#line 3979 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
            return 2022; /* *fma_fmsubadd_v4sf */
          if (!vector_operand (operands[1], V4SFmode)
              || !vector_operand (operands[2], V4SFmode)
              || !vector_operand (operands[3], V4SFmode)
              || !(
#line 3998 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && 1) && 
#line 3616 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 2032; /* *fma_fmsubadd_v4sf */

        case V4DFmode:
          if (!register_operand (operands[0], V4DFmode)
              || GET_MODE (x3) != V4DFmode
              || GET_MODE (x6) != V4DFmode)
            return -1;
          if (nonimmediate_operand (operands[1], V4DFmode)
              && nonimmediate_operand (operands[2], V4DFmode)
              && nonimmediate_operand (operands[3], V4DFmode)
              && (
#line 3979 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4) && 
#line 231 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return 2023; /* *fma_fmsubadd_v4df */
          if (!vector_operand (operands[1], V4DFmode)
              || !vector_operand (operands[2], V4DFmode)
              || !vector_operand (operands[3], V4DFmode)
              || !(
#line 3998 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && 1) && 
#line 3617 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 2039; /* *fma_fmsubadd_v4df */

        case V2DFmode:
          if (!register_operand (operands[0], V2DFmode)
              || GET_MODE (x3) != V2DFmode
              || GET_MODE (x6) != V2DFmode)
            return -1;
          if (nonimmediate_operand (operands[1], V2DFmode)
              && nonimmediate_operand (operands[2], V2DFmode)
              && nonimmediate_operand (operands[3], V2DFmode)
              && (
#line 3979 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4) && 
#line 231 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
            return 2024; /* *fma_fmsubadd_v2df */
          if (!vector_operand (operands[1], V2DFmode)
              || !vector_operand (operands[2], V2DFmode)
              || !vector_operand (operands[3], V2DFmode)
              || !(
#line 3998 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && 1) && 
#line 3617 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 2041; /* *fma_fmsubadd_v2df */

        case V16SFmode:
          if (pattern462 (x3, V16SFmode) != 0
              || !
#line 3998 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && 1))
            return -1;
          return 2026; /* *fma_fmsubadd_v16sf */

        case V8DFmode:
          if (pattern462 (x3, V8DFmode) != 0
              || !
#line 3998 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && 1))
            return -1;
          return 2035; /* *fma_fmsubadd_v8df */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_130 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[1] = x4;
  x5 = XVECEXP (x3, 0, 1);
  operands[2] = x5;
  x6 = XVECEXP (x3, 0, 2);
  operands[3] = x6;
  switch (GET_MODE (operands[0]))
    {
    case V16SImode:
      if (pattern105 (x3, V16SImode) != 0
          || !
#line 18065 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
        return -1;
      return 4307; /* avx512f_vpermi2varv16si3 */

    case V16SFmode:
      if (pattern424 (x3, V16SFmode, V16SImode) != 0
          || !
#line 18065 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
        return -1;
      return 4309; /* avx512f_vpermi2varv16sf3 */

    case V8DImode:
      if (pattern105 (x3, V8DImode) != 0
          || !
#line 18065 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
        return -1;
      return 4311; /* avx512f_vpermi2varv8di3 */

    case V8DFmode:
      if (pattern424 (x3, V8DFmode, V8DImode) != 0
          || !
#line 18065 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
        return -1;
      return 4313; /* avx512f_vpermi2varv8df3 */

    case V8SImode:
      if (pattern105 (x3, V8SImode) != 0
          || !(
#line 18065 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 4315; /* avx512vl_vpermi2varv8si3 */

    case V8SFmode:
      if (pattern424 (x3, V8SFmode, V8SImode) != 0
          || !(
#line 18065 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 4317; /* avx512vl_vpermi2varv8sf3 */

    case V4DImode:
      if (pattern105 (x3, V4DImode) != 0
          || !(
#line 18065 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 4319; /* avx512vl_vpermi2varv4di3 */

    case V4DFmode:
      if (pattern424 (x3, V4DFmode, V4DImode) != 0
          || !(
#line 18065 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 4321; /* avx512vl_vpermi2varv4df3 */

    case V4SImode:
      if (pattern105 (x3, V4SImode) != 0
          || !(
#line 18065 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 4323; /* avx512vl_vpermi2varv4si3 */

    case V4SFmode:
      if (pattern424 (x3, V4SFmode, V4SImode) != 0
          || !(
#line 18065 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 4325; /* avx512vl_vpermi2varv4sf3 */

    case V2DImode:
      if (pattern105 (x3, V2DImode) != 0
          || !(
#line 18065 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 4327; /* avx512vl_vpermi2varv2di3 */

    case V2DFmode:
      if (pattern424 (x3, V2DFmode, V2DImode) != 0
          || !(
#line 18065 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 4329; /* avx512vl_vpermi2varv2df3 */

    case V64QImode:
      if (pattern105 (x3, V64QImode) != 0
          || !
#line 18078 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VBMI))
        return -1;
      return 4331; /* avx512bw_vpermi2varv64qi3 */

    case V16QImode:
      if (pattern105 (x3, V16QImode) != 0
          || !(
#line 18078 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VBMI) && 
#line 195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 4333; /* avx512vl_vpermi2varv16qi3 */

    case V32QImode:
      if (pattern105 (x3, V32QImode) != 0
          || !(
#line 18078 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VBMI) && 
#line 195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 4335; /* avx512vl_vpermi2varv32qi3 */

    case V8HImode:
      if (pattern105 (x3, V8HImode) != 0
          || !(
#line 18091 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 351 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 4337; /* avx512vl_vpermi2varv8hi3 */

    case V16HImode:
      if (pattern105 (x3, V16HImode) != 0
          || !(
#line 18091 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 351 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 4339; /* avx512vl_vpermi2varv16hi3 */

    case V32HImode:
      if (pattern105 (x3, V32HImode) != 0
          || !
#line 18091 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
        return -1;
      return 4341; /* avx512bw_vpermi2varv32hi3 */

    default:
      return -1;
    }
}

static int
recog_131 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[1] = x4;
  x5 = XVECEXP (x3, 0, 1);
  operands[2] = x5;
  x6 = XVECEXP (x3, 0, 2);
  operands[3] = x6;
  switch (GET_MODE (operands[0]))
    {
    case V16SImode:
      if (pattern105 (x3, V16SImode) != 0
          || !
#line 18194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
        return -1;
      return 4361; /* avx512f_vpermt2varv16si3 */

    case V16SFmode:
      if (pattern425 (x3, V16SFmode, V16SImode) != 0
          || !
#line 18194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
        return -1;
      return 4363; /* avx512f_vpermt2varv16sf3 */

    case V8DImode:
      if (pattern105 (x3, V8DImode) != 0
          || !
#line 18194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
        return -1;
      return 4365; /* avx512f_vpermt2varv8di3 */

    case V8DFmode:
      if (pattern425 (x3, V8DFmode, V8DImode) != 0
          || !
#line 18194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
        return -1;
      return 4367; /* avx512f_vpermt2varv8df3 */

    case V8SImode:
      if (pattern105 (x3, V8SImode) != 0
          || !(
#line 18194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 4369; /* avx512vl_vpermt2varv8si3 */

    case V8SFmode:
      if (pattern425 (x3, V8SFmode, V8SImode) != 0
          || !(
#line 18194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 4371; /* avx512vl_vpermt2varv8sf3 */

    case V4DImode:
      if (pattern105 (x3, V4DImode) != 0
          || !(
#line 18194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 4373; /* avx512vl_vpermt2varv4di3 */

    case V4DFmode:
      if (pattern425 (x3, V4DFmode, V4DImode) != 0
          || !(
#line 18194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 4375; /* avx512vl_vpermt2varv4df3 */

    case V4SImode:
      if (pattern105 (x3, V4SImode) != 0
          || !(
#line 18194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 4377; /* avx512vl_vpermt2varv4si3 */

    case V4SFmode:
      if (pattern425 (x3, V4SFmode, V4SImode) != 0
          || !(
#line 18194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 4379; /* avx512vl_vpermt2varv4sf3 */

    case V2DImode:
      if (pattern105 (x3, V2DImode) != 0
          || !(
#line 18194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 4381; /* avx512vl_vpermt2varv2di3 */

    case V2DFmode:
      if (pattern425 (x3, V2DFmode, V2DImode) != 0
          || !(
#line 18194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 4383; /* avx512vl_vpermt2varv2df3 */

    case V64QImode:
      if (pattern105 (x3, V64QImode) != 0
          || !
#line 18207 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VBMI))
        return -1;
      return 4385; /* avx512bw_vpermt2varv64qi3 */

    case V16QImode:
      if (pattern105 (x3, V16QImode) != 0
          || !(
#line 18207 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VBMI) && 
#line 195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 4387; /* avx512vl_vpermt2varv16qi3 */

    case V32QImode:
      if (pattern105 (x3, V32QImode) != 0
          || !(
#line 18207 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VBMI) && 
#line 195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 4389; /* avx512vl_vpermt2varv32qi3 */

    case V8HImode:
      if (pattern105 (x3, V8HImode) != 0
          || !(
#line 18220 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 351 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 4391; /* avx512vl_vpermt2varv8hi3 */

    case V16HImode:
      if (pattern105 (x3, V16HImode) != 0
          || !(
#line 18220 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 351 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 4393; /* avx512vl_vpermt2varv16hi3 */

    case V32HImode:
      if (pattern105 (x3, V32HImode) != 0
          || !
#line 18220 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
        return -1;
      return 4395; /* avx512bw_vpermt2varv32hi3 */

    default:
      return -1;
    }
}

static int
recog_132 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[1] = x4;
  x5 = XVECEXP (x3, 0, 2);
  operands[2] = x5;
  x6 = XVECEXP (x3, 0, 1);
  if (!rtx_equal_p (x6, operands[0]))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case V16SImode:
      if (pattern427 (x3, V16SImode, HImode) != 0
          || !
#line 19384 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
        return -1;
      return 4777; /* avx512f_compressstorev16si_mask */

    case V16SFmode:
      if (pattern427 (x3, V16SFmode, HImode) != 0
          || !
#line 19384 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
        return -1;
      return 4778; /* avx512f_compressstorev16sf_mask */

    case V8DImode:
      if (pattern427 (x3, V8DImode, QImode) != 0
          || !
#line 19384 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
        return -1;
      return 4779; /* avx512f_compressstorev8di_mask */

    case V8DFmode:
      if (pattern427 (x3, V8DFmode, QImode) != 0
          || !
#line 19384 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
        return -1;
      return 4780; /* avx512f_compressstorev8df_mask */

    case V8SImode:
      if (pattern427 (x3, V8SImode, QImode) != 0
          || !(
#line 19384 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 4781; /* avx512vl_compressstorev8si_mask */

    case V8SFmode:
      if (pattern427 (x3, V8SFmode, QImode) != 0
          || !(
#line 19384 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 4782; /* avx512vl_compressstorev8sf_mask */

    case V4DImode:
      if (pattern427 (x3, V4DImode, QImode) != 0
          || !(
#line 19384 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 4783; /* avx512vl_compressstorev4di_mask */

    case V4DFmode:
      if (pattern427 (x3, V4DFmode, QImode) != 0
          || !(
#line 19384 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 4784; /* avx512vl_compressstorev4df_mask */

    case V4SImode:
      if (pattern427 (x3, V4SImode, QImode) != 0
          || !(
#line 19384 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 4785; /* avx512vl_compressstorev4si_mask */

    case V4SFmode:
      if (pattern427 (x3, V4SFmode, QImode) != 0
          || !(
#line 19384 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 4786; /* avx512vl_compressstorev4sf_mask */

    case V2DImode:
      if (pattern427 (x3, V2DImode, QImode) != 0
          || !(
#line 19384 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 4787; /* avx512vl_compressstorev2di_mask */

    case V2DFmode:
      if (pattern427 (x3, V2DFmode, QImode) != 0
          || !(
#line 19384 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 4788; /* avx512vl_compressstorev2df_mask */

    default:
      return -1;
    }
}

static int
recog_133 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[1] = x4;
  x5 = XVECEXP (x3, 0, 1);
  operands[2] = x5;
  x6 = XVECEXP (x3, 0, 2);
  operands[3] = x6;
  switch (GET_MODE (operands[0]))
    {
    case V16SImode:
      if (pattern428 (x3, V16SImode, HImode) != 0
          || !
#line 19408 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
        return -1;
      return 4789; /* avx512f_expandv16si_mask */

    case V16SFmode:
      if (pattern428 (x3, V16SFmode, HImode) != 0
          || !
#line 19408 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
        return -1;
      return 4790; /* avx512f_expandv16sf_mask */

    case V8DImode:
      if (pattern428 (x3, V8DImode, QImode) != 0
          || !
#line 19408 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
        return -1;
      return 4791; /* avx512f_expandv8di_mask */

    case V8DFmode:
      if (pattern428 (x3, V8DFmode, QImode) != 0
          || !
#line 19408 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
        return -1;
      return 4792; /* avx512f_expandv8df_mask */

    case V8SImode:
      if (pattern428 (x3, V8SImode, QImode) != 0
          || !(
#line 19408 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 4793; /* avx512vl_expandv8si_mask */

    case V8SFmode:
      if (pattern428 (x3, V8SFmode, QImode) != 0
          || !(
#line 19408 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 4794; /* avx512vl_expandv8sf_mask */

    case V4DImode:
      if (pattern428 (x3, V4DImode, QImode) != 0
          || !(
#line 19408 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 4795; /* avx512vl_expandv4di_mask */

    case V4DFmode:
      if (pattern428 (x3, V4DFmode, QImode) != 0
          || !(
#line 19408 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 4796; /* avx512vl_expandv4df_mask */

    case V4SImode:
      if (pattern428 (x3, V4SImode, QImode) != 0
          || !(
#line 19408 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 4797; /* avx512vl_expandv4si_mask */

    case V4SFmode:
      if (pattern428 (x3, V4SFmode, QImode) != 0
          || !(
#line 19408 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 4798; /* avx512vl_expandv4sf_mask */

    case V2DImode:
      if (pattern428 (x3, V2DImode, QImode) != 0
          || !(
#line 19408 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 4799; /* avx512vl_expandv2di_mask */

    case V2DFmode:
      if (pattern428 (x3, V2DFmode, QImode) != 0
          || !(
#line 19408 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 4800; /* avx512vl_expandv2df_mask */

    default:
      return -1;
    }
}

static int
recog_134 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (XINT (x2, 1))
    {
    case 50:
      switch (pattern102 (x1))
        {
        case 0:
          if (!(
#line 1901 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && 1 && 1) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
            return -1;
          return 1555; /* ieee_maxv16sf3 */

        case 1:
          if (!(
#line 1901 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && 1 && 1) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return -1;
          return 1563; /* ieee_maxv8sf3 */

        case 2:
          if (!
#line 1901 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && 1 && 1))
            return -1;
          return 1567; /* ieee_maxv4sf3 */

        case 3:
          if (!(
#line 1901 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && 1 && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
            return -1;
          return 1571; /* ieee_maxv8df3 */

        case 4:
          if (!(
#line 1901 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && 1 && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return -1;
          return 1579; /* ieee_maxv4df3 */

        case 5:
          if (!(
#line 1901 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && 1 && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
            return -1;
          return 1583; /* ieee_maxv2df3 */

        default:
          return -1;
        }

    case 49:
      switch (pattern102 (x1))
        {
        case 0:
          if (!(
#line 1901 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && 1 && 1) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
            return -1;
          return 1559; /* ieee_minv16sf3 */

        case 1:
          if (!(
#line 1901 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && 1 && 1) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return -1;
          return 1565; /* ieee_minv8sf3 */

        case 2:
          if (!
#line 1901 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && 1 && 1))
            return -1;
          return 1569; /* ieee_minv4sf3 */

        case 3:
          if (!(
#line 1901 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && 1 && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
            return -1;
          return 1575; /* ieee_minv8df3 */

        case 4:
          if (!(
#line 1901 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && 1 && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return -1;
          return 1581; /* ieee_minv4df3 */

        case 5:
          if (!(
#line 1901 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && 1 && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
            return -1;
          return 1585; /* ieee_minv2df3 */

        default:
          return -1;
        }

    case 192:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x2, 0, 1);
      operands[2] = x5;
      if (!const_0_to_255_operand (operands[2], SImode))
        return -1;
      switch (pattern241 (x2))
        {
        case 0:
          if (!
#line 2462 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ))
            return -1;
          return 1609; /* *reducepv16sf */

        case 1:
          if (!(
#line 2462 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 1611; /* *reducepv8sf */

        case 2:
          if (!(
#line 2462 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 1613; /* *reducepv4sf */

        case 3:
          if (!
#line 2462 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ))
            return -1;
          return 1615; /* *reducepv8df */

        case 4:
          if (!(
#line 2462 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 1617; /* *reducepv4df */

        case 5:
          if (!(
#line 2462 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 1619; /* *reducepv2df */

        default:
          return -1;
        }

    case 159:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x2, 0, 1);
      operands[2] = x5;
      switch (GET_MODE (operands[0]))
        {
        case V16SFmode:
          if (pattern52 (x2, V16SFmode) != 0
              || !
#line 8202 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2535; /* avx512f_scalefv16sf */

        case V8SFmode:
          if (pattern52 (x2, V8SFmode) != 0
              || !(
#line 8202 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 2539; /* avx512vl_scalefv8sf */

        case V4SFmode:
          if (pattern52 (x2, V4SFmode) != 0
              || !(
#line 8202 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 2543; /* avx512vl_scalefv4sf */

        case V8DFmode:
          if (pattern52 (x2, V8DFmode) != 0
              || !
#line 8202 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2547; /* avx512f_scalefv8df */

        case V4DFmode:
          if (pattern52 (x2, V4DFmode) != 0
              || !(
#line 8202 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 2551; /* avx512vl_scalefv4df */

        case V2DFmode:
          if (pattern52 (x2, V2DFmode) != 0
              || !(
#line 8202 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 2555; /* avx512vl_scalefv2df */

        default:
          return -1;
        }

    case 83:
      return recog_127 (x1, insn, pnum_clobbers);

    case 188:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x2, 0, 1);
      operands[2] = x5;
      switch (GET_MODE (operands[0]))
        {
        case V16SImode:
          if (pattern296 (x2, V32HImode, V16SImode) != 0
              || !(
#line 10313 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW && 1) && 
#line 329 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 3072; /* avx512bw_pmaddwd512v32hi */

        case V8SImode:
          if (pattern296 (x2, V16HImode, V8SImode) != 0
              || !(
#line 10313 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW && 1) && 
#line 329 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
            return -1;
          return 3074; /* avx512bw_pmaddwd512v16hi */

        case V4SImode:
          if (pattern296 (x2, V8HImode, V4SImode) != 0
              || !
#line 10313 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW && 1))
            return -1;
          return 3076; /* avx512bw_pmaddwd512v8hi */

        default:
          return -1;
        }

    case 190:
      if (pattern103 (x1) != 0
          || !
#line 13117 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
        return -1;
      return 3638; /* *avx512bw_pshuflwv32hi */

    case 189:
      if (pattern103 (x1) != 0
          || !
#line 13293 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
        return -1;
      return 3644; /* *avx512bw_pshufhwv32hi */

    case 47:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x2, 0, 1);
      operands[2] = x5;
      switch (GET_MODE (operands[0]))
        {
        case V8DImode:
          if (pattern378 (x2, V64QImode, V8DImode) != 0
              || !(
#line 14038 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2) && 
#line 354 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 3685; /* avx512f_psadbw */

        case V4DImode:
          if (pattern378 (x2, V32QImode, V4DImode) != 0
              || !(
#line 14038 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2) && 
#line 354 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
            return -1;
          return 3686; /* avx2_psadbw */

        case V2DImode:
          if (pattern378 (x2, V16QImode, V2DImode) != 0
              || !
#line 14038 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))
            return -1;
          return 3687; /* sse2_psadbw */

        default:
          return -1;
        }

    case 187:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x2, 0, 1);
      operands[2] = x5;
      switch (GET_MODE (operands[0]))
        {
        case V8HImode:
          if (pattern296 (x2, V16QImode, V8HImode) != 0
              || !(
#line 14517 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 351 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 3727; /* avx512bw_pmaddubsw512v8hi */

        case V16HImode:
          if (pattern296 (x2, V32QImode, V16HImode) != 0
              || !(
#line 14517 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 351 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 3729; /* avx512bw_pmaddubsw512v16hi */

        case V32HImode:
          if (pattern296 (x2, V64QImode, V32HImode) != 0
              || !
#line 14517 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
            return -1;
          return 3731; /* avx512bw_pmaddubsw512v32hi */

        default:
          return -1;
        }

    case 108:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x2, 0, 1);
      operands[2] = x5;
      switch (GET_MODE (operands[0]))
        {
        case V64QImode:
          if (pattern101 (x2, V64QImode) != 0
              || !(
#line 14733 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3 && 1 && 1) && 
#line 326 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 3744; /* avx512bw_pshufbv64qi3 */

        case V32QImode:
          if (pattern101 (x2, V32QImode) != 0
              || !(
#line 14733 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3 && 1 && 1) && 
#line 326 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
            return -1;
          return 3746; /* avx2_pshufbv32qi3 */

        case V16QImode:
          if (pattern101 (x2, V16QImode) != 0
              || !
#line 14733 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3 && 1 && 1))
            return -1;
          return 3748; /* ssse3_pshufbv16qi3 */

        default:
          return -1;
        }

    case 109:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x2, 0, 1);
      operands[2] = x5;
      switch (GET_MODE (operands[0]))
        {
        case V32QImode:
          if (pattern101 (x2, V32QImode) != 0
              || !(
#line 14764 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3) && 
#line 395 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
            return -1;
          return 3751; /* avx2_psignv32qi3 */

        case V16QImode:
          if (pattern101 (x2, V16QImode) != 0
              || !
#line 14764 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3))
            return -1;
          return 3752; /* ssse3_psignv16qi3 */

        case V16HImode:
          if (pattern101 (x2, V16HImode) != 0
              || !(
#line 14764 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3) && 
#line 396 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
            return -1;
          return 3753; /* avx2_psignv16hi3 */

        case V8HImode:
          if (pattern101 (x2, V8HImode) != 0
              || !
#line 14764 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3))
            return -1;
          return 3754; /* ssse3_psignv8hi3 */

        case V8SImode:
          if (pattern101 (x2, V8SImode) != 0
              || !(
#line 14764 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3) && 
#line 397 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
            return -1;
          return 3755; /* avx2_psignv8si3 */

        case V4SImode:
          if (pattern101 (x2, V4SImode) != 0
              || !
#line 14764 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3))
            return -1;
          return 3756; /* ssse3_psignv4si3 */

        default:
          return -1;
        }

    case 112:
      if (GET_MODE (x2) != V2DImode)
        return -1;
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      if (!register_operand (operands[0], V2DImode))
        return -1;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      if (!register_operand (operands[1], V2DImode))
        return -1;
      x5 = XVECEXP (x2, 0, 1);
      operands[2] = x5;
      if (!register_operand (operands[2], V16QImode)
          || !
#line 14976 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4A))
        return -1;
      return 3799; /* sse4a_extrq */

    case 114:
      if (GET_MODE (x2) != V2DImode)
        return -1;
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      if (!register_operand (operands[0], V2DImode))
        return -1;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      if (!register_operand (operands[1], V2DImode))
        return -1;
      x5 = XVECEXP (x2, 0, 1);
      operands[2] = x5;
      if (!register_operand (operands[2], V2DImode)
          || !
#line 15002 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4A))
        return -1;
      return 3801; /* sse4a_insertq */

    case 129:
      if (pattern50 (x1, V2DImode) != 0
          || !
#line 17133 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AES))
        return -1;
      return 4078; /* aesenc */

    case 130:
      if (pattern50 (x1, V2DImode) != 0
          || !
#line 17149 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AES))
        return -1;
      return 4079; /* aesenclast */

    case 131:
      if (pattern50 (x1, V2DImode) != 0
          || !
#line 17165 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AES))
        return -1;
      return 4080; /* aesdec */

    case 132:
      if (pattern50 (x1, V2DImode) != 0
          || !
#line 17181 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AES))
        return -1;
      return 4081; /* aesdeclast */

    case 134:
      if (GET_MODE (x2) != V2DImode)
        return -1;
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      if (!register_operand (operands[0], V2DImode))
        return -1;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      if (!vector_operand (operands[1], V2DImode))
        return -1;
      x5 = XVECEXP (x2, 0, 1);
      operands[2] = x5;
      if (!const_0_to_255_operand (operands[2], SImode)
          || !
#line 17208 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AES))
        return -1;
      return 4083; /* aeskeygenassist */

    case 144:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x2, 0, 1);
      operands[2] = x5;
      switch (GET_MODE (operands[0]))
        {
        case V8SImode:
          if (pattern379 (x2, V8SImode) != 0
              || !
#line 17321 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && 1))
            return -1;
          return 4103; /* avx2_permvarv8si */

        case V8SFmode:
          if (pattern380 (x2, V8SImode, V8SFmode) != 0
              || !
#line 17321 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && 1))
            return -1;
          return 4105; /* avx2_permvarv8sf */

        case V16SImode:
          if (pattern379 (x2, V16SImode) != 0
              || !(
#line 17321 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && 1) && 
#line 554 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
            return -1;
          return 4107; /* avx512f_permvarv16si */

        case V16SFmode:
          if (pattern380 (x2, V16SImode, V16SFmode) != 0
              || !(
#line 17321 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && 1) && 
#line 554 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
            return -1;
          return 4109; /* avx512f_permvarv16sf */

        case V8DImode:
          if (pattern379 (x2, V8DImode) != 0
              || !(
#line 17321 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && 1) && 
#line 555 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
            return -1;
          return 4111; /* avx512f_permvarv8di */

        case V8DFmode:
          if (pattern380 (x2, V8DImode, V8DFmode) != 0
              || !(
#line 17321 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && 1) && 
#line 555 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
            return -1;
          return 4113; /* avx512f_permvarv8df */

        case V4DImode:
          if (pattern379 (x2, V4DImode) != 0
              || !(
#line 17321 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && 1) && 
#line 556 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4115; /* avx2_permvarv4di */

        case V4DFmode:
          if (pattern380 (x2, V4DImode, V4DFmode) != 0
              || !(
#line 17321 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && 1) && 
#line 556 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4117; /* avx2_permvarv4df */

        case V64QImode:
          if (pattern379 (x2, V64QImode) != 0
              || !
#line 17333 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VBMI && 1))
            return -1;
          return 4119; /* avx512bw_permvarv64qi */

        case V16QImode:
          if (pattern379 (x2, V16QImode) != 0
              || !(
#line 17333 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VBMI && 1) && 
#line 195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4121; /* avx512vl_permvarv16qi */

        case V32QImode:
          if (pattern379 (x2, V32QImode) != 0
              || !(
#line 17333 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VBMI && 1) && 
#line 195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4123; /* avx512vl_permvarv32qi */

        case V8HImode:
          if (pattern379 (x2, V8HImode) != 0
              || !(
#line 17345 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW && 1) && 
#line 351 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4125; /* avx512vl_permvarv8hi */

        case V16HImode:
          if (pattern379 (x2, V16HImode) != 0
              || !(
#line 17345 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW && 1) && 
#line 351 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4127; /* avx512vl_permvarv16hi */

        case V32HImode:
          if (pattern379 (x2, V32HImode) != 0
              || !
#line 17345 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW && 1))
            return -1;
          return 4129; /* avx512bw_permvarv32hi */

        default:
          return -1;
        }

    case 137:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x2, 0, 1);
      operands[2] = x5;
      switch (GET_MODE (operands[0]))
        {
        case V16SFmode:
          if (pattern381 (x2, V16SImode, V16SFmode) != 0
              || !(
#line 18008 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && 1) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
            return -1;
          return 4295; /* avx512f_vpermilvarv16sf3 */

        case V8SFmode:
          if (pattern381 (x2, V8SImode, V8SFmode) != 0
              || !(
#line 18008 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && 1) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return -1;
          return 4297; /* avx_vpermilvarv8sf3 */

        case V4SFmode:
          if (pattern381 (x2, V4SImode, V4SFmode) != 0
              || !
#line 18008 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && 1))
            return -1;
          return 4299; /* avx_vpermilvarv4sf3 */

        case V8DFmode:
          if (pattern381 (x2, V8DImode, V8DFmode) != 0
              || !(
#line 18008 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
            return -1;
          return 4301; /* avx512f_vpermilvarv8df3 */

        case V4DFmode:
          if (pattern381 (x2, V4DImode, V4DFmode) != 0
              || !(
#line 18008 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return -1;
          return 4303; /* avx_vpermilvarv4df3 */

        case V2DFmode:
          if (pattern381 (x2, V2DImode, V2DFmode) != 0
              || !(
#line 18008 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
            return -1;
          return 4305; /* avx_vpermilvarv2df3 */

        default:
          return -1;
        }

    case 43:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XVECEXP (x2, 0, 0);
      operands[2] = x4;
      x5 = XVECEXP (x2, 0, 1);
      operands[1] = x5;
      switch (GET_MODE (operands[0]))
        {
        case V4SFmode:
          if (pattern382 (x2, V4SFmode, V4SImode) != 0
              || !
#line 18614 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
            return -1;
          return 4447; /* avx_maskloadps */

        case V2DFmode:
          if (pattern382 (x2, V2DFmode, V2DImode) != 0
              || !
#line 18614 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
            return -1;
          return 4448; /* avx_maskloadpd */

        case V8SFmode:
          if (pattern382 (x2, V8SFmode, V8SImode) != 0
              || !
#line 18614 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
            return -1;
          return 4449; /* avx_maskloadps256 */

        case V4DFmode:
          if (pattern382 (x2, V4DFmode, V4DImode) != 0
              || !
#line 18614 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
            return -1;
          return 4450; /* avx_maskloadpd256 */

        case V4SImode:
          if (pattern383 (x2, V4SImode) != 0
              || !(
#line 18614 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX) && 
#line 435 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
            return -1;
          return 4451; /* avx2_maskloadd */

        case V2DImode:
          if (pattern383 (x2, V2DImode) != 0
              || !(
#line 18614 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX) && 
#line 435 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
            return -1;
          return 4452; /* avx2_maskloadq */

        case V8SImode:
          if (pattern383 (x2, V8SImode) != 0
              || !(
#line 18614 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX) && 
#line 436 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
            return -1;
          return 4453; /* avx2_maskloadd256 */

        case V4DImode:
          if (pattern383 (x2, V4DImode) != 0
              || !(
#line 18614 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX) && 
#line 436 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
            return -1;
          return 4454; /* avx2_maskloadq256 */

        default:
          return -1;
        }

    case 143:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x2, 0, 1);
      operands[2] = x5;
      if (!const_0_to_255_operand (operands[2], SImode))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case V8HImode:
          if (!nonimmediate_operand (operands[0], V8HImode)
              || GET_MODE (x2) != V8HImode
              || !register_operand (operands[1], V8SFmode)
              || !
#line 18944 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_F16C || TARGET_AVX512VL))
            return -1;
          return 4545; /* vcvtps2ph256 */

        case V16HImode:
          if (!nonimmediate_operand (operands[0], V16HImode)
              || GET_MODE (x2) != V16HImode
              || !register_operand (operands[1], V16SFmode)
              || !
#line 18957 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 4547; /* *avx512f_vcvtps2ph512 */

        default:
          return -1;
        }

    case 155:
      return recog_126 (x1, insn, pnum_clobbers);

    case 162:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x2, 0, 1);
      operands[2] = x5;
      if (!const_0_to_15_operand (operands[2], SImode))
        return -1;
      switch (pattern241 (x2))
        {
        case 0:
          if (!
#line 19478 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 4835; /* avx512f_getmantv16sf */

        case 1:
          if (!(
#line 19478 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4839; /* avx512vl_getmantv8sf */

        case 2:
          if (!(
#line 19478 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4843; /* avx512vl_getmantv4sf */

        case 3:
          if (!
#line 19478 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 4847; /* avx512f_getmantv8df */

        case 4:
          if (!(
#line 19478 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4851; /* avx512vl_getmantv4df */

        case 5:
          if (!(
#line 19478 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4855; /* avx512vl_getmantv2df */

        default:
          return -1;
        }

    case 179:
      if (pattern50 (x1, V4SImode) != 0
          || !
#line 19542 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SHA))
        return -1;
      return 4893; /* sha1msg1 */

    case 180:
      if (pattern50 (x1, V4SImode) != 0
          || !
#line 19553 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SHA))
        return -1;
      return 4894; /* sha1msg2 */

    case 181:
      if (pattern50 (x1, V4SImode) != 0
          || !
#line 19564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SHA))
        return -1;
      return 4895; /* sha1nexte */

    case 183:
      if (pattern50 (x1, V4SImode) != 0
          || !
#line 19588 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SHA))
        return -1;
      return 4897; /* sha256msg1 */

    case 184:
      if (pattern50 (x1, V4SImode) != 0
          || !
#line 19599 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SHA))
        return -1;
      return 4898; /* sha256msg2 */

    case 197:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x2, 0, 1);
      operands[2] = x5;
      switch (GET_MODE (operands[0]))
        {
        case V64QImode:
          if (pattern52 (x2, V64QImode) != 0
              || !
#line 19721 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VBMI))
            return -1;
          return 4924; /* vpmultishiftqbv64qi */

        case V16QImode:
          if (pattern52 (x2, V16QImode) != 0
              || !(
#line 19721 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VBMI) && 
#line 195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4926; /* vpmultishiftqbv16qi */

        case V32QImode:
          if (pattern52 (x2, V32QImode) != 0
              || !(
#line 19721 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VBMI) && 
#line 195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4928; /* vpmultishiftqbv32qi */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_135 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (XINT (x2, 1))
    {
    case 136:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x2, 0, 1);
      operands[2] = x5;
      x6 = XVECEXP (x2, 0, 2);
      operands[3] = x6;
      if (!const_0_to_31_operand (operands[3], SImode))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case V8SFmode:
          if (pattern52 (x2, V8SFmode) != 0
              || !
#line 2497 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
            return -1;
          return 1623; /* avx_cmpv8sf3 */

        case V4SFmode:
          if (pattern52 (x2, V4SFmode) != 0
              || !
#line 2497 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
            return -1;
          return 1624; /* avx_cmpv4sf3 */

        case V4DFmode:
          if (pattern52 (x2, V4DFmode) != 0
              || !
#line 2497 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
            return -1;
          return 1625; /* avx_cmpv4df3 */

        case V2DFmode:
          if (pattern52 (x2, V2DFmode) != 0
              || !(
#line 2497 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX) && 
#line 231 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
            return -1;
          return 1626; /* avx_cmpv2df3 */

        default:
          return -1;
        }

    case 124:
      return recog_129 (x1, insn, pnum_clobbers);

    case 116:
      if (GET_MODE (x2) != V4SFmode)
        return -1;
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      if (!register_operand (operands[0], V4SFmode))
        return -1;
      x4 = XVECEXP (x2, 0, 0);
      operands[2] = x4;
      if (!nonimmediate_operand (operands[2], V4SFmode))
        return -1;
      x5 = XVECEXP (x2, 0, 1);
      operands[1] = x5;
      if (!register_operand (operands[1], V4SFmode))
        return -1;
      x6 = XVECEXP (x2, 0, 2);
      operands[3] = x6;
      if (!const_0_to_255_operand (operands[3], SImode)
          || !
#line 7004 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1))
        return -1;
      return 2453; /* sse4_1_insertps */

    case 163:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x2, 0, 1);
      operands[2] = x5;
      x6 = XVECEXP (x2, 0, 2);
      operands[3] = x6;
      if (!const_0_to_255_operand (operands[3], SImode))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case V16SImode:
          if (pattern52 (x2, V16SImode) != 0
              || !
#line 8282 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2605; /* *avx512f_alignv16si */

        case V8SImode:
          if (pattern52 (x2, V8SImode) != 0
              || !(
#line 8282 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 2607; /* *avx512vl_alignv8si */

        case V4SImode:
          if (pattern52 (x2, V4SImode) != 0
              || !(
#line 8282 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 2609; /* *avx512vl_alignv4si */

        case V8DImode:
          if (pattern52 (x2, V8DImode) != 0
              || !
#line 8282 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2611; /* *avx512f_alignv8di */

        case V4DImode:
          if (pattern52 (x2, V4DImode) != 0
              || !(
#line 8282 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 2613; /* *avx512vl_alignv4di */

        case V2DImode:
          if (pattern52 (x2, V2DImode) != 0
              || !(
#line 8282 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 2615; /* *avx512vl_alignv2di */

        default:
          return -1;
        }

    case 43:
      if (GET_MODE (x2) == V16QImode)
        {
          switch (pattern150 (x1, V16QImode))
            {
            case 0:
              if ((
#line 14119 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return 3700; /* *sse2_maskmovdqu */
              break;

            case 1:
              if ((
#line 14119 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return 3701; /* *sse2_maskmovdqu */
              break;

            default:
              break;
            }
        }
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x2, 0, 1);
      operands[2] = x5;
      x6 = XVECEXP (x2, 0, 2);
      if (!rtx_equal_p (x6, operands[0]))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case V4SFmode:
          if (pattern421 (x2, V4SFmode, V4SImode) != 0
              || !
#line 18629 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
            return -1;
          return 4455; /* avx_maskstoreps */

        case V2DFmode:
          if (pattern421 (x2, V2DFmode, V2DImode) != 0
              || !
#line 18629 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
            return -1;
          return 4456; /* avx_maskstorepd */

        case V8SFmode:
          if (pattern421 (x2, V8SFmode, V8SImode) != 0
              || !
#line 18629 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
            return -1;
          return 4457; /* avx_maskstoreps256 */

        case V4DFmode:
          if (pattern421 (x2, V4DFmode, V4DImode) != 0
              || !
#line 18629 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
            return -1;
          return 4458; /* avx_maskstorepd256 */

        case V4SImode:
          if (pattern422 (x2, V4SImode) != 0
              || !(
#line 18629 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX) && 
#line 435 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
            return -1;
          return 4459; /* avx2_maskstored */

        case V2DImode:
          if (pattern422 (x2, V2DImode) != 0
              || !(
#line 18629 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX) && 
#line 435 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
            return -1;
          return 4460; /* avx2_maskstoreq */

        case V8SImode:
          if (pattern422 (x2, V8SImode) != 0
              || !(
#line 18629 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX) && 
#line 436 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
            return -1;
          return 4461; /* avx2_maskstored256 */

        case V4DImode:
          if (pattern422 (x2, V4DImode) != 0
              || !(
#line 18629 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX) && 
#line 436 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
            return -1;
          return 4462; /* avx2_maskstoreq256 */

        default:
          return -1;
        }

    case 110:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x2, 0, 1);
      operands[2] = x5;
      x6 = XVECEXP (x2, 0, 2);
      operands[3] = x6;
      if (!const_0_to_255_mul_8_operand (operands[3], SImode))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case V4TImode:
          if (pattern101 (x2, V4TImode) != 0
              || !(
#line 14817 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3) && 
#line 379 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 3763; /* avx512bw_palignrv4ti */

        case V2TImode:
          if (pattern101 (x2, V2TImode) != 0
              || !(
#line 14817 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3) && 
#line 379 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
            return -1;
          return 3764; /* avx2_palignrv2ti */

        default:
          return -1;
        }

    case 111:
      if (GET_MODE (x2) != V2DImode)
        return -1;
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      if (!register_operand (operands[0], V2DImode))
        return -1;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      if (!register_operand (operands[1], V2DImode))
        return -1;
      x5 = XVECEXP (x2, 0, 1);
      operands[2] = x5;
      if (!const_0_to_255_operand (operands[2], VOIDmode))
        return -1;
      x6 = XVECEXP (x2, 0, 2);
      operands[3] = x6;
      if (!const_0_to_255_operand (operands[3], VOIDmode)
          || !
#line 14964 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4A))
        return -1;
      return 3798; /* sse4a_extrqi */

    case 115:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x2, 0, 1);
      operands[2] = x5;
      x6 = XVECEXP (x2, 0, 2);
      operands[3] = x6;
      switch (GET_MODE (operands[0]))
        {
        case V8SFmode:
          if (pattern423 (x2, V8SFmode) != 0
              || !(
#line 15045 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1) && 
#line 230 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return -1;
          return 3806; /* avx_blendvps256 */

        case V4SFmode:
          if (pattern423 (x2, V4SFmode) != 0
              || !
#line 15045 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1))
            return -1;
          return 3807; /* sse4_1_blendvps */

        case V4DFmode:
          if (pattern423 (x2, V4DFmode) != 0
              || !(
#line 15045 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1) && 
#line 231 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return -1;
          return 3808; /* avx_blendvpd256 */

        case V2DFmode:
          if (pattern423 (x2, V2DFmode) != 0
              || !(
#line 15045 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1) && 
#line 231 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
            return -1;
          return 3809; /* sse4_1_blendvpd */

        case V32QImode:
          if (pattern423 (x2, V32QImode) != 0
              || !(
#line 15144 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1) && 
#line 323 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
            return -1;
          return 3825; /* avx2_pblendvb */

        case V16QImode:
          if (pattern423 (x2, V16QImode) != 0
              || !
#line 15144 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1))
            return -1;
          return 3826; /* sse4_1_pblendvb */

        default:
          return -1;
        }

    case 117:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x2, 0, 1);
      operands[2] = x5;
      x6 = XVECEXP (x2, 0, 2);
      operands[3] = x6;
      if (!const_0_to_255_operand (operands[3], SImode))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case V8SFmode:
          if (pattern492 (x2, V8SFmode) != 0
              || !(
#line 15066 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1) && 
#line 230 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return -1;
          return 3810; /* avx_dpps256 */

        case V4SFmode:
          if (pattern492 (x2, V4SFmode) != 0
              || !
#line 15066 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1))
            return -1;
          return 3811; /* sse4_1_dpps */

        case V4DFmode:
          if (pattern492 (x2, V4DFmode) != 0
              || !(
#line 15066 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1) && 
#line 231 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return -1;
          return 3812; /* avx_dppd256 */

        case V2DFmode:
          if (pattern492 (x2, V2DFmode) != 0
              || !(
#line 15066 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1) && 
#line 231 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
            return -1;
          return 3813; /* sse4_1_dppd */

        default:
          return -1;
        }

    case 119:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x2, 0, 1);
      operands[2] = x5;
      x6 = XVECEXP (x2, 0, 2);
      operands[3] = x6;
      if (!const_0_to_255_operand (operands[3], SImode))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case V32QImode:
          if (pattern101 (x2, V32QImode) != 0
              || !(
#line 15104 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1) && 
#line 323 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
            return -1;
          return 3817; /* avx2_mpsadbw */

        case V16QImode:
          if (pattern101 (x2, V16QImode) != 0
              || !
#line 15104 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1))
            return -1;
          return 3818; /* sse4_1_mpsadbw */

        default:
          return -1;
        }

    case 127:
      if (pattern55 (x1, V16QImode) != 0)
        return -1;
      x6 = XVECEXP (x2, 0, 2);
      operands[3] = x6;
      if (!nonimmediate_operand (operands[3], V16QImode)
          || !
#line 16567 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
        return -1;
      return 4026; /* xop_pperm */

    case 126:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x2, 0, 1);
      operands[2] = x5;
      x6 = XVECEXP (x2, 0, 2);
      operands[3] = x6;
      if (!const_int_operand (operands[3], SImode))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case V16QImode:
          if (pattern52 (x2, V16QImode) != 0
              || !
#line 17100 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
            return -1;
          return 4070; /* xop_pcom_tfv16qi3 */

        case V8HImode:
          if (pattern52 (x2, V8HImode) != 0
              || !
#line 17100 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
            return -1;
          return 4071; /* xop_pcom_tfv8hi3 */

        case V4SImode:
          if (pattern52 (x2, V4SImode) != 0
              || !
#line 17100 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
            return -1;
          return 4072; /* xop_pcom_tfv4si3 */

        case V2DImode:
          if (pattern52 (x2, V2DImode) != 0
              || !
#line 17100 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
            return -1;
          return 4073; /* xop_pcom_tfv2di3 */

        default:
          return -1;
        }

    case 135:
      if (pattern50 (x1, V2DImode) != 0)
        return -1;
      x6 = XVECEXP (x2, 0, 2);
      operands[3] = x6;
      if (!const_0_to_255_operand (operands[3], SImode)
          || !
#line 17222 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_PCLMUL))
        return -1;
      return 4084; /* pclmulqdq */

    case 145:
      if (pattern55 (x1, V4DImode) != 0)
        return -1;
      x6 = XVECEXP (x2, 0, 2);
      operands[3] = x6;
      if (!const_0_to_255_operand (operands[3], SImode)
          || !
#line 17484 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))
        return -1;
      return 4139; /* avx2_permv2ti */

    case 148:
      return recog_130 (x1, insn, pnum_clobbers);

    case 149:
      return recog_131 (x1, insn, pnum_clobbers);

    case 139:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x2, 0, 1);
      operands[2] = x5;
      x6 = XVECEXP (x2, 0, 2);
      operands[3] = x6;
      if (!const_0_to_255_operand (operands[3], SImode))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case V8SImode:
          if (pattern52 (x2, V8SImode) != 0
              || !
#line 18318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
            return -1;
          return 4415; /* *avx_vperm2f128v8si_full */

        case V8SFmode:
          if (pattern52 (x2, V8SFmode) != 0
              || !
#line 18318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
            return -1;
          return 4416; /* *avx_vperm2f128v8sf_full */

        case V4DFmode:
          if (pattern52 (x2, V4DFmode) != 0
              || !
#line 18318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
            return -1;
          return 4417; /* *avx_vperm2f128v4df_full */

        default:
          return -1;
        }

    case 146:
      return recog_128 (x1, insn, pnum_clobbers);

    case 165:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x2, 0, 1);
      operands[2] = x5;
      x6 = XVECEXP (x2, 0, 2);
      operands[3] = x6;
      switch (GET_MODE (operands[0]))
        {
        case V16SImode:
          if (pattern426 (x2, V16SImode, HImode) != 0
              || !
#line 19371 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 4765; /* avx512f_compressv16si_mask */

        case V16SFmode:
          if (pattern426 (x2, V16SFmode, HImode) != 0
              || !
#line 19371 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 4766; /* avx512f_compressv16sf_mask */

        case V8DImode:
          if (pattern426 (x2, V8DImode, QImode) != 0
              || !
#line 19371 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 4767; /* avx512f_compressv8di_mask */

        case V8DFmode:
          if (pattern426 (x2, V8DFmode, QImode) != 0
              || !
#line 19371 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 4768; /* avx512f_compressv8df_mask */

        case V8SImode:
          if (pattern426 (x2, V8SImode, QImode) != 0
              || !(
#line 19371 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4769; /* avx512vl_compressv8si_mask */

        case V8SFmode:
          if (pattern426 (x2, V8SFmode, QImode) != 0
              || !(
#line 19371 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4770; /* avx512vl_compressv8sf_mask */

        case V4DImode:
          if (pattern426 (x2, V4DImode, QImode) != 0
              || !(
#line 19371 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4771; /* avx512vl_compressv4di_mask */

        case V4DFmode:
          if (pattern426 (x2, V4DFmode, QImode) != 0
              || !(
#line 19371 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4772; /* avx512vl_compressv4df_mask */

        case V4SImode:
          if (pattern426 (x2, V4SImode, QImode) != 0
              || !(
#line 19371 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4773; /* avx512vl_compressv4si_mask */

        case V4SFmode:
          if (pattern426 (x2, V4SFmode, QImode) != 0
              || !(
#line 19371 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4774; /* avx512vl_compressv4sf_mask */

        case V2DImode:
          if (pattern426 (x2, V2DImode, QImode) != 0
              || !(
#line 19371 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4775; /* avx512vl_compressv2di_mask */

        case V2DFmode:
          if (pattern426 (x2, V2DFmode, QImode) != 0
              || !(
#line 19371 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4776; /* avx512vl_compressv2df_mask */

        default:
          return -1;
        }

    case 166:
      return recog_132 (x1, insn, pnum_clobbers);

    case 167:
      return recog_133 (x1, insn, pnum_clobbers);

    case 194:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x2, 0, 1);
      operands[2] = x5;
      x6 = XVECEXP (x2, 0, 2);
      operands[3] = x6;
      if (!const_0_to_15_operand (operands[3], SImode))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case V16SFmode:
          if (pattern101 (x2, V16SFmode) != 0
              || !
#line 19422 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1))
            return -1;
          return 4801; /* avx512dq_rangepv16sf */

        case V8SFmode:
          if (pattern101 (x2, V8SFmode) != 0
              || !(
#line 19422 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4805; /* avx512dq_rangepv8sf */

        case V4SFmode:
          if (pattern101 (x2, V4SFmode) != 0
              || !(
#line 19422 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4807; /* avx512dq_rangepv4sf */

        case V8DFmode:
          if (pattern101 (x2, V8DFmode) != 0
              || !
#line 19422 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1))
            return -1;
          return 4809; /* avx512dq_rangepv8df */

        case V4DFmode:
          if (pattern101 (x2, V4DFmode) != 0
              || !(
#line 19422 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4813; /* avx512dq_rangepv4df */

        case V2DFmode:
          if (pattern101 (x2, V2DFmode) != 0
              || !(
#line 19422 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4815; /* avx512dq_rangepv2df */

        default:
          return -1;
        }

    case 186:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x2, 0, 1);
      operands[2] = x5;
      x6 = XVECEXP (x2, 0, 2);
      operands[3] = x6;
      if (!const_0_to_255_operand (operands[3], SImode))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case V8HImode:
          if (pattern296 (x2, V16QImode, V8HImode) != 0
              || !(
#line 19507 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 351 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4863; /* *avx512bw_dbpsadbwv8hi */

        case V16HImode:
          if (pattern296 (x2, V32QImode, V16HImode) != 0
              || !(
#line 19507 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 351 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4865; /* *avx512bw_dbpsadbwv16hi */

        case V32HImode:
          if (pattern296 (x2, V64QImode, V32HImode) != 0
              || !
#line 19507 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
            return -1;
          return 4867; /* *avx512bw_dbpsadbwv32hi */

        default:
          return -1;
        }

    case 182:
      if (pattern104 (x1) != 0
          || !const_0_to_3_operand (operands[3], SImode)
          || !
#line 19576 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SHA))
        return -1;
      return 4896; /* sha1rnds4 */

    case 185:
      if (pattern104 (x1) != 0
          || !register_operand (operands[3], V4SImode)
          || !
#line 19611 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SHA))
        return -1;
      return 4899; /* sha256rnds2 */

    case 195:
      switch (pattern106 (x1))
        {
        case 0:
          if (!
#line 19693 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512IFMA))
            return -1;
          return 4906; /* vpamdd52luqv8di */

        case 1:
          if (!(
#line 19693 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512IFMA) && 
#line 317 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4910; /* vpamdd52luqv4di */

        case 2:
          if (!(
#line 19693 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512IFMA) && 
#line 317 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4914; /* vpamdd52luqv2di */

        default:
          return -1;
        }

    case 196:
      switch (pattern106 (x1))
        {
        case 0:
          if (!
#line 19693 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512IFMA))
            return -1;
          return 4908; /* vpamdd52huqv8di */

        case 1:
          if (!(
#line 19693 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512IFMA) && 
#line 317 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4912; /* vpamdd52huqv4di */

        case 2:
          if (!(
#line 19693 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512IFMA) && 
#line 317 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4916; /* vpamdd52huqv2di */

        default:
          return -1;
        }

    case 198:
      switch (pattern107 (x1))
        {
        case 0:
          if (!
#line 19772 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX5124FMAPS))
            return -1;
          return 4932; /* avx5124fmaddps_4fmaddps */

        case 1:
          if (!
#line 19813 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX5124FMAPS))
            return -1;
          return 4935; /* avx5124fmaddps_4fmaddss */

        default:
          return -1;
        }

    case 199:
      switch (pattern107 (x1))
        {
        case 0:
          if (!
#line 19854 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX5124FMAPS))
            return -1;
          return 4938; /* avx5124fmaddps_4fnmaddps */

        case 1:
          if (!
#line 19895 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX5124FMAPS))
            return -1;
          return 4941; /* avx5124fmaddps_4fnmaddss */

        default:
          return -1;
        }

    case 200:
      if (pattern108 (x1) != 0
          || !
#line 19936 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX5124VNNIW))
        return -1;
      return 4944; /* avx5124vnniw_vp4dpwssd */

    case 201:
      if (pattern108 (x1) != 0
          || !
#line 19977 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX5124VNNIW))
        return -1;
      return 4947; /* avx5124vnniw_vp4dpwssds */

    default:
      return -1;
    }
}

static int
recog_136 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  switch (XINT (x3, 1))
    {
    case 107:
      x4 = XVECEXP (x3, 0, 0);
      operands[1] = x4;
      switch (GET_MODE (operands[0]))
        {
        case V32QImode:
          if (!register_operand (operands[0], V32QImode)
              || GET_MODE (x3) != V32QImode
              || !memory_operand (operands[1], V32QImode)
              || !(
#line 1223 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE3) && 
#line 300 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return -1;
          return 1283; /* avx_lddqu256 */

        case V16QImode:
          if (!register_operand (operands[0], V16QImode)
              || GET_MODE (x3) != V16QImode
              || !memory_operand (operands[1], V16QImode)
              || !
#line 1223 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE3))
            return -1;
          return 1284; /* sse3_lddqu */

        default:
          return -1;
        }

    case 106:
      return recog_125 (x1, insn, pnum_clobbers);

    case 45:
      switch (pattern165 (x3))
        {
        case 0:
          if (!(
#line 1672 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 239 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return -1;
          return 1453; /* avx_rcpv8sf2 */

        case 1:
          if (!
#line 1672 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE))
            return -1;
          return 1454; /* sse_rcpv4sf2 */

        default:
          return -1;
        }

    case 156:
      x4 = XVECEXP (x3, 0, 0);
      operands[1] = x4;
      switch (pattern241 (x3))
        {
        case 0:
          if (!
#line 1703 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 1456; /* *rcp14v16sf */

        case 1:
          if (!(
#line 1703 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 1458; /* *rcp14v8sf */

        case 2:
          if (!(
#line 1703 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 1460; /* *rcp14v4sf */

        case 3:
          if (!
#line 1703 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 1462; /* *rcp14v8df */

        case 4:
          if (!(
#line 1703 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 1464; /* *rcp14v4df */

        case 5:
          if (!(
#line 1703 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 1466; /* *rcp14v2df */

        default:
          return -1;
        }

    case 46:
      switch (pattern165 (x3))
        {
        case 0:
          if (!(
#line 1801 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 239 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return -1;
          return 1490; /* avx_rsqrtv8sf2 */

        case 1:
          if (!
#line 1801 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE))
            return -1;
          return 1491; /* sse_rsqrtv4sf2 */

        default:
          return -1;
        }

    case 157:
      x4 = XVECEXP (x3, 0, 0);
      operands[1] = x4;
      switch (pattern241 (x3))
        {
        case 0:
          if (!
#line 1812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 1492; /* *rsqrt14v16sf */

        case 1:
          if (!(
#line 1812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 1494; /* *rsqrt14v8sf */

        case 2:
          if (!(
#line 1812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 1496; /* *rsqrt14v4sf */

        case 3:
          if (!
#line 1812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 1498; /* *rsqrt14v8df */

        case 4:
          if (!(
#line 1812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 1500; /* *rsqrt14v4df */

        case 5:
          if (!(
#line 1812 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 1502; /* *rsqrt14v2df */

        default:
          return -1;
        }

    case 42:
      return recog_124 (x1, insn, pnum_clobbers);

    case 151:
      x4 = XVECEXP (x3, 0, 0);
      switch (GET_CODE (x4))
        {
        case REG:
        case SUBREG:
        case MEM:
          operands[1] = x4;
          switch (GET_MODE (operands[0]))
            {
            case V16SImode:
              if (!register_operand (operands[0], V16SImode)
                  || GET_MODE (x3) != V16SImode
                  || !nonimmediate_operand (operands[1], V16SFmode)
                  || !
#line 4487 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return -1;
              return 2143; /* *avx512f_ufix_notruncv16sfv16si */

            case V8SImode:
              switch (pattern375 (x3, V8SImode))
                {
                case 0:
                  if (!(
#line 4487 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 344 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                    return -1;
                  return 2147; /* *avx512vl_ufix_notruncv8sfv8si */

                case 1:
                  if (!
#line 5102 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                    return -1;
                  return 2280; /* ufix_notruncv8dfv8si2 */

                default:
                  return -1;
                }

            case V4SImode:
              switch (pattern376 (x3, V4SImode))
                {
                case 0:
                  if (!(
#line 4487 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 344 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                    return -1;
                  return 2151; /* *avx512vl_ufix_notruncv4sfv4si */

                case 1:
                  if (!(
#line 5102 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 256 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                    return -1;
                  return 2284; /* ufix_notruncv4dfv4si2 */

                default:
                  return -1;
                }

            case V8DImode:
              switch (pattern375 (x3, V8DImode))
                {
                case 0:
                  if (!
#line 4520 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1))
                    return -1;
                  return 2163; /* *avx512dq_cvtps2uqqv8di */

                case 1:
                  if (!
#line 5186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1))
                    return -1;
                  return 2328; /* ufix_notruncv8dfv8di2 */

                default:
                  return -1;
                }

            case V4DImode:
              switch (pattern376 (x3, V4DImode))
                {
                case 0:
                  if (!(
#line 4520 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1) && 
#line 320 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                    return -1;
                  return 2167; /* *avx512dq_cvtps2uqqv4di */

                case 1:
                  if (!(
#line 5186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1) && 
#line 279 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                    return -1;
                  return 2332; /* ufix_notruncv4dfv4di2 */

                default:
                  return -1;
                }

            case V2DImode:
              if (!register_operand (operands[0], V2DImode)
                  || GET_MODE (x3) != V2DImode
                  || !nonimmediate_operand (operands[1], V2DFmode)
                  || !(
#line 5186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1) && 
#line 279 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 2334; /* ufix_notruncv2dfv2di2 */

            default:
              return -1;
            }

        case VEC_SELECT:
          if (pattern242 (x3) != 0
              || !
#line 4533 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && TARGET_AVX512VL))
            return -1;
          return 2169; /* *avx512dq_cvtps2uqqv2di */

        default:
          return -1;
        }

    case 161:
      x4 = XVECEXP (x3, 0, 0);
      operands[1] = x4;
      switch (GET_MODE (operands[0]))
        {
        case V16SFmode:
          if (!register_operand (operands[0], V16SFmode)
              || GET_MODE (x3) != V16SFmode
              || !vector_operand (operands[1], V16SFmode)
              || !
#line 8257 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2577; /* avx512f_getexpv16sf */

        case V8SFmode:
          if (!register_operand (operands[0], V8SFmode)
              || GET_MODE (x3) != V8SFmode
              || !vector_operand (operands[1], V8SFmode)
              || !(
#line 8257 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 2581; /* avx512vl_getexpv8sf */

        case V4SFmode:
          if (!register_operand (operands[0], V4SFmode)
              || GET_MODE (x3) != V4SFmode
              || !vector_operand (operands[1], V4SFmode)
              || !(
#line 8257 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 2585; /* avx512vl_getexpv4sf */

        case V8DFmode:
          if (!register_operand (operands[0], V8DFmode)
              || GET_MODE (x3) != V8DFmode
              || !vector_operand (operands[1], V8DFmode)
              || !
#line 8257 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2589; /* avx512f_getexpv8df */

        case V4DFmode:
          if (!register_operand (operands[0], V4DFmode)
              || GET_MODE (x3) != V4DFmode
              || !vector_operand (operands[1], V4DFmode)
              || !(
#line 8257 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 2593; /* avx512vl_getexpv4df */

        case V2DFmode:
          if (!register_operand (operands[0], V2DFmode)
              || GET_MODE (x3) != V2DFmode
              || !vector_operand (operands[1], V2DFmode)
              || !(
#line 8257 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 2597; /* avx512vl_getexpv2df */

        default:
          return -1;
        }

    case 118:
      x4 = XVECEXP (x3, 0, 0);
      operands[1] = x4;
      switch (GET_MODE (operands[0]))
        {
        case V8DImode:
          if (!register_operand (operands[0], V8DImode)
              || GET_MODE (x3) != V8DImode
              || !memory_operand (operands[1], V8DImode)
              || !(
#line 15089 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1) && 
#line 360 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
            return -1;
          return 3814; /* avx512f_movntdqa */

        case V4DImode:
          if (!register_operand (operands[0], V4DImode)
              || GET_MODE (x3) != V4DImode
              || !memory_operand (operands[1], V4DImode)
              || !(
#line 15089 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1) && 
#line 360 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
            return -1;
          return 3815; /* avx2_movntdqa */

        case V2DImode:
          if (!register_operand (operands[0], V2DImode)
              || GET_MODE (x3) != V2DImode
              || !memory_operand (operands[1], V2DImode)
              || !
#line 15089 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1))
            return -1;
          return 3816; /* sse4_1_movntdqa */

        default:
          return -1;
        }

    case 120:
      if (GET_MODE (x3) != V8HImode
          || !register_operand (operands[0], V8HImode))
        return -1;
      x4 = XVECEXP (x3, 0, 0);
      operands[1] = x4;
      if (!vector_operand (operands[1], V8HImode)
          || !
#line 15223 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1))
        return -1;
      return 3831; /* sse4_1_phminposuw */

    case 176:
      switch (pattern166 (x3))
        {
        case 0:
          if (!
#line 16170 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512ER))
            return -1;
          return 3951; /* avx512er_exp2v16sf */

        case 1:
          if (!
#line 16170 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512ER))
            return -1;
          return 3955; /* avx512er_exp2v8df */

        default:
          return -1;
        }

    case 177:
      switch (pattern166 (x3))
        {
        case 0:
          if (!
#line 16181 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512ER))
            return -1;
          return 3959; /* *avx512er_rcp28v16sf */

        case 1:
          if (!
#line 16181 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512ER))
            return -1;
          return 3963; /* *avx512er_rcp28v8df */

        default:
          return -1;
        }

    case 178:
      switch (pattern166 (x3))
        {
        case 0:
          if (!
#line 16207 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512ER))
            return -1;
          return 3971; /* *avx512er_rsqrt28v16sf */

        case 1:
          if (!
#line 16207 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512ER))
            return -1;
          return 3975; /* *avx512er_rsqrt28v8df */

        default:
          return -1;
        }

    case 128:
      x4 = XVECEXP (x3, 0, 0);
      operands[1] = x4;
      switch (GET_MODE (operands[0]))
        {
        case V4SFmode:
          if (!register_operand (operands[0], V4SFmode)
              || GET_MODE (x3) != V4SFmode
              || !nonimmediate_operand (operands[1], V4SFmode)
              || !
#line 17016 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
            return -1;
          return 4052; /* xop_frczv4sf2 */

        case V2DFmode:
          if (!register_operand (operands[0], V2DFmode)
              || GET_MODE (x3) != V2DFmode
              || !nonimmediate_operand (operands[1], V2DFmode)
              || !
#line 17016 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
            return -1;
          return 4053; /* xop_frczv2df2 */

        case V8SFmode:
          if (!register_operand (operands[0], V8SFmode)
              || GET_MODE (x3) != V8SFmode
              || !nonimmediate_operand (operands[1], V8SFmode)
              || !
#line 17016 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
            return -1;
          return 4054; /* xop_frczv8sf2 */

        case V4DFmode:
          if (!register_operand (operands[0], V4DFmode)
              || GET_MODE (x3) != V4DFmode
              || !nonimmediate_operand (operands[1], V4DFmode)
              || !
#line 17016 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
            return -1;
          return 4055; /* xop_frczv4df2 */

        default:
          return -1;
        }

    case 125:
      x4 = XVECEXP (x3, 0, 0);
      switch (GET_CODE (x4))
        {
        case NE:
        case EQ:
        case GEU:
        case GTU:
        case LEU:
        case LTU:
          operands[1] = x4;
          x5 = XEXP (x4, 0);
          operands[2] = x5;
          x6 = XEXP (x4, 1);
          operands[3] = x6;
          switch (GET_MODE (operands[0]))
            {
            case V16QImode:
              if (pattern491 (x3, V16QImode) != 0
                  || !
#line 17083 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
                return -1;
              return 4066; /* xop_maskcmp_uns2v16qi3 */

            case V8HImode:
              if (pattern491 (x3, V8HImode) != 0
                  || !
#line 17083 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
                return -1;
              return 4067; /* xop_maskcmp_uns2v8hi3 */

            case V4SImode:
              if (pattern491 (x3, V4SImode) != 0
                  || !
#line 17083 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
                return -1;
              return 4068; /* xop_maskcmp_uns2v4si3 */

            case V2DImode:
              if (pattern491 (x3, V2DImode) != 0
                  || !
#line 17083 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
                return -1;
              return 4069; /* xop_maskcmp_uns2v2di3 */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 133:
      if (GET_MODE (x3) != V2DImode
          || !register_operand (operands[0], V2DImode))
        return -1;
      x4 = XVECEXP (x3, 0, 0);
      operands[1] = x4;
      if (!vector_operand (operands[1], V2DImode)
          || !
#line 17196 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AES))
        return -1;
      return 4082; /* aesimc */

    case 140:
      x4 = XVECEXP (x3, 0, 0);
      operands[1] = x4;
      switch (pattern243 (x3))
        {
        case 0:
          if (!
#line 18708 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
            return -1;
          return 4463; /* avx_si256_si */

        case 1:
          if (!
#line 18708 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
            return -1;
          return 4464; /* avx_ps256_ps */

        case 2:
          if (!
#line 18708 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
            return -1;
          return 4465; /* avx_pd256_pd */

        case 3:
          if (!
#line 19622 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
            return -1;
          return 4900; /* avx512f_si512_si */

        case 4:
          if (!
#line 19639 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
            return -1;
          return 4903; /* avx512f_si512_256si */

        case 5:
          if (!
#line 19622 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
            return -1;
          return 4901; /* avx512f_ps512_ps */

        case 6:
          if (!
#line 19639 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
            return -1;
          return 4904; /* avx512f_ps512_256ps */

        case 7:
          if (!
#line 19622 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
            return -1;
          return 4902; /* avx512f_pd512_pd */

        case 8:
          if (!
#line 19639 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
            return -1;
          return 4905; /* avx512f_pd512_256pd */

        default:
          return -1;
        }

    case 142:
      x4 = XVECEXP (x3, 0, 0);
      operands[1] = x4;
      switch (GET_MODE (operands[0]))
        {
        case V4SFmode:
          if (!register_operand (operands[0], V4SFmode)
              || GET_MODE (x3) != V4SFmode
              || !memory_operand (operands[1], V4HImode)
              || !
#line 18864 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_F16C || TARGET_AVX512VL))
            return -1;
          return 4534; /* *vcvtph2ps_load */

        case V8SFmode:
          if (!register_operand (operands[0], V8SFmode)
              || GET_MODE (x3) != V8SFmode
              || !nonimmediate_operand (operands[1], V8HImode)
              || !
#line 18874 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_F16C || TARGET_AVX512VL))
            return -1;
          return 4536; /* vcvtph2ps256 */

        case V16SFmode:
          if (!register_operand (operands[0], V16SFmode)
              || GET_MODE (x3) != V16SFmode
              || !vector_operand (operands[1], V16HImode)
              || !
#line 18886 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 4538; /* *avx512f_vcvtph2ps512 */

        default:
          return -1;
        }

    case 164:
      x4 = XVECEXP (x3, 0, 0);
      operands[1] = x4;
      switch (GET_MODE (operands[0]))
        {
        case V16SImode:
          if (!register_operand (operands[0], V16SImode)
              || GET_MODE (x3) != V16SImode
              || !nonimmediate_operand (operands[1], V16SImode)
              || !
#line 19530 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512CD))
            return -1;
          return 4881; /* *conflictv16si */

        case V8SImode:
          if (!register_operand (operands[0], V8SImode)
              || GET_MODE (x3) != V8SImode
              || !nonimmediate_operand (operands[1], V8SImode)
              || !(
#line 19530 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512CD) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4883; /* *conflictv8si */

        case V4SImode:
          if (!register_operand (operands[0], V4SImode)
              || GET_MODE (x3) != V4SImode
              || !nonimmediate_operand (operands[1], V4SImode)
              || !(
#line 19530 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512CD) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4885; /* *conflictv4si */

        case V8DImode:
          if (!register_operand (operands[0], V8DImode)
              || GET_MODE (x3) != V8DImode
              || !nonimmediate_operand (operands[1], V8DImode)
              || !
#line 19530 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512CD))
            return -1;
          return 4887; /* *conflictv8di */

        case V4DImode:
          if (!register_operand (operands[0], V4DImode)
              || GET_MODE (x3) != V4DImode
              || !nonimmediate_operand (operands[1], V4DImode)
              || !(
#line 19530 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512CD) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4889; /* *conflictv4di */

        case V2DImode:
          if (!register_operand (operands[0], V2DImode)
              || GET_MODE (x3) != V2DImode
              || !nonimmediate_operand (operands[1], V2DImode)
              || !(
#line 19530 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512CD) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4891; /* *conflictv2di */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_137 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  operands[2] = x3;
  switch (GET_CODE (x2))
    {
    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:
      operands[3] = x2;
      switch (GET_MODE (operands[0]))
        {
        case V8SFmode:
          if (pattern385 (V8SFmode) == 0)
            {
              if ((
#line 2526 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && GET_RTX_CLASS (GET_CODE (operands[3])) == RTX_COMM_COMPARE) && 
#line 230 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
                return 1629; /* *avx_maskcmpv8sf3_comm */
              if ((
#line 2542 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 230 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
                return 1633; /* avx_maskcmpv8sf3 */
            }
          break;

        case V4SFmode:
          if (pattern385 (V4SFmode) == 0)
            {
              if (
#line 2526 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && GET_RTX_CLASS (GET_CODE (operands[3])) == RTX_COMM_COMPARE))
                return 1630; /* *sse_maskcmpv4sf3_comm */
              if (
#line 2542 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE))
                return 1634; /* sse_maskcmpv4sf3 */
            }
          break;

        case V4DFmode:
          if (pattern385 (V4DFmode) == 0)
            {
              if ((
#line 2526 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && GET_RTX_CLASS (GET_CODE (operands[3])) == RTX_COMM_COMPARE) && 
#line 231 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
                return 1631; /* *avx_maskcmpv4df3_comm */
              if ((
#line 2542 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 231 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
                return 1635; /* avx_maskcmpv4df3 */
            }
          break;

        case V2DFmode:
          if (pattern385 (V2DFmode) == 0)
            {
              if ((
#line 2526 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && GET_RTX_CLASS (GET_CODE (operands[3])) == RTX_COMM_COMPARE) && 
#line 231 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
                return 1632; /* *sse2_maskcmpv2df3_comm */
              if ((
#line 2542 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 231 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
                return 1636; /* sse2_maskcmpv2df3 */
            }
          break;

        default:
          break;
        }
      break;

    default:
      break;
    }
  switch (GET_CODE (x2))
    {
    case EQ:
      switch (GET_MODE (operands[0]))
        {
        case V32QImode:
          if (pattern7 (x2, V32QImode) != 0
              || !
#line 11115 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && ix86_binary_operator_ok (EQ, V32QImode, operands)))
            return -1;
          return 3332; /* *avx2_eqv32qi3 */

        case V16HImode:
          if (pattern7 (x2, V16HImode) != 0
              || !
#line 11115 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && ix86_binary_operator_ok (EQ, V16HImode, operands)))
            return -1;
          return 3333; /* *avx2_eqv16hi3 */

        case V8SImode:
          if (pattern7 (x2, V8SImode) != 0
              || !
#line 11115 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && ix86_binary_operator_ok (EQ, V8SImode, operands)))
            return -1;
          return 3334; /* *avx2_eqv8si3 */

        case V4DImode:
          if (pattern7 (x2, V4DImode) != 0
              || !
#line 11115 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && ix86_binary_operator_ok (EQ, V4DImode, operands)))
            return -1;
          return 3335; /* *avx2_eqv4di3 */

        case V2DImode:
          if (pattern14 (x2, V2DImode) != 0
              || !
#line 11171 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1 && ix86_binary_operator_ok (EQ, V2DImode, operands)))
            return -1;
          return 3360; /* *sse4_1_eqv2di3 */

        case V16QImode:
          if (pattern14 (x2, V16QImode) != 0
              || !
#line 11187 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && !TARGET_XOP
   && ix86_binary_operator_ok (EQ, V16QImode, operands)))
            return -1;
          return 3361; /* *sse2_eqv16qi3 */

        case V8HImode:
          if (pattern14 (x2, V8HImode) != 0
              || !
#line 11187 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && !TARGET_XOP
   && ix86_binary_operator_ok (EQ, V8HImode, operands)))
            return -1;
          return 3362; /* *sse2_eqv8hi3 */

        case V4SImode:
          if (pattern14 (x2, V4SImode) != 0
              || !
#line 11187 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && !TARGET_XOP
   && ix86_binary_operator_ok (EQ, V4SImode, operands)))
            return -1;
          return 3363; /* *sse2_eqv4si3 */

        default:
          return -1;
        }

    case GT:
      switch (GET_MODE (operands[0]))
        {
        case V2DImode:
          if (pattern244 (x2, V2DImode) != 0
              || !
#line 11219 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_2))
            return -1;
          return 3364; /* sse4_2_gtv2di3 */

        case V32QImode:
          if (pattern15 (x2, V32QImode) != 0
              || !
#line 11235 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))
            return -1;
          return 3365; /* avx2_gtv32qi3 */

        case V16HImode:
          if (pattern15 (x2, V16HImode) != 0
              || !
#line 11235 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))
            return -1;
          return 3366; /* avx2_gtv16hi3 */

        case V8SImode:
          if (pattern15 (x2, V8SImode) != 0
              || !
#line 11235 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))
            return -1;
          return 3367; /* avx2_gtv8si3 */

        case V4DImode:
          if (pattern15 (x2, V4DImode) != 0
              || !
#line 11235 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))
            return -1;
          return 3368; /* avx2_gtv4di3 */

        case V16QImode:
          if (pattern244 (x2, V16QImode) != 0
              || !
#line 11271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && !TARGET_XOP))
            return -1;
          return 3393; /* sse2_gtv16qi3 */

        case V8HImode:
          if (pattern244 (x2, V8HImode) != 0
              || !
#line 11271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && !TARGET_XOP))
            return -1;
          return 3394; /* sse2_gtv8hi3 */

        case V4SImode:
          if (pattern244 (x2, V4SImode) != 0
              || !
#line 11271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && !TARGET_XOP))
            return -1;
          return 3395; /* sse2_gtv4si3 */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_138 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  x4 = XVECEXP (x3, 0, 2);
  if (GET_CODE (x4) != CONST_INT)
    return -1;
  x5 = XVECEXP (x3, 0, 3);
  if (GET_CODE (x5) != CONST_INT)
    return -1;
  x6 = XVECEXP (x3, 0, 0);
  switch (XWINT (x6, 0))
    {
    case 6LL:
      x7 = XVECEXP (x3, 0, 1);
      if (XWINT (x7, 0) != 7LL
          || XWINT (x4, 0) != 2LL
          || XWINT (x5, 0) != 3LL
          || pattern702 (x2) != 0
          || !
#line 6136 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
        return -1;
      return 2406; /* sse_movhlps */

    case 0LL:
      x7 = XVECEXP (x3, 0, 1);
      switch (XWINT (x7, 0))
        {
        case 1LL:
          if (XWINT (x4, 0) != 4LL
              || XWINT (x5, 0) != 5LL
              || pattern702 (x2) != 0
              || !
#line 6181 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (UNKNOWN, V4SFmode, operands)))
            return -1;
          return 2407; /* sse_movlhps */

        case 4LL:
          x8 = XEXP (x2, 0);
          x9 = XEXP (x8, 1);
          operands[2] = x9;
          switch (XWINT (x4, 0))
            {
            case 1LL:
              if (XWINT (x5, 0) != 5LL
                  || pattern573 (x2, V4SFmode, V8SFmode) != 0
                  || !
#line 6377 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE))
                return -1;
              return 2419; /* vec_interleave_lowv4sf */

            case 2LL:
              if (XWINT (x5, 0) != 6LL)
                return -1;
              switch (GET_MODE (operands[0]))
                {
                case V4DFmode:
                  if (!register_operand (operands[0], V4DFmode)
                      || pattern572 (x2, V4DFmode, V8DFmode) != 0
                      || !
#line 8059 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && 1))
                    return -1;
                  return 2527; /* *avx_unpcklpd256 */

                case V4DImode:
                  if (pattern467 (x2, V4DImode, V8DImode) != 0
                      || !
#line 8697 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && 1))
                    return -1;
                  return 2706; /* avx2_interleave_lowv4di */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case 0LL:
          if (XWINT (x4, 0) != 6LL
              || XWINT (x5, 0) != 6LL
              || pattern703 (x2) != 0
              || !
#line 6467 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE3 && 1))
            return -1;
          return 2428; /* sse3_movsldup */

        default:
          return -1;
        }

    case 2LL:
      x7 = XVECEXP (x3, 0, 1);
      if (XWINT (x7, 0) != 6LL
          || XWINT (x4, 0) != 3LL
          || XWINT (x5, 0) != 7LL
          || pattern542 (x2, V4SFmode, V8SFmode) != 0
          || !
#line 6272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && 1))
        return -1;
      return 2412; /* vec_interleave_highv4sf */

    case 1LL:
      if (XWINT (x5, 0) != 7LL)
        return -1;
      x7 = XVECEXP (x3, 0, 1);
      switch (XWINT (x7, 0))
        {
        case 1LL:
          if (XWINT (x4, 0) != 7LL
              || pattern703 (x2) != 0
              || !
#line 6414 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE3 && 1))
            return -1;
          return 2422; /* sse3_movshdup */

        case 5LL:
          if (XWINT (x4, 0) != 3LL)
            return -1;
          x8 = XEXP (x2, 0);
          x9 = XEXP (x8, 1);
          operands[2] = x9;
          switch (GET_MODE (operands[0]))
            {
            case V4DFmode:
              if (pattern467 (x2, V4DFmode, V8DFmode) != 0
                  || !
#line 7898 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && 1))
                return -1;
              return 2521; /* avx_unpckhpd256 */

            case V4DImode:
              if (pattern467 (x2, V4DImode, V8DImode) != 0
                  || !
#line 8647 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && 1))
                return -1;
              return 2700; /* avx2_interleave_highv4di */

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_139 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  operands[2] = x4;
  x5 = XEXP (x2, 1);
  x6 = XVECEXP (x5, 0, 1);
  operands[4] = x6;
  x7 = XVECEXP (x5, 0, 2);
  operands[5] = x7;
  x8 = XVECEXP (x5, 0, 3);
  operands[6] = x8;
  switch (GET_MODE (operands[0]))
    {
    case V4SImode:
      if (pattern673 (x2, V4SImode, V8SImode) != 0
          || !
#line 6611 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE))
        return -1;
      return 2435; /* sse_shufps_v4si */

    case V4SFmode:
      if (pattern673 (x2, V4SFmode, V8SFmode) != 0
          || !
#line 6611 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE))
        return -1;
      return 2436; /* sse_shufps_v4sf */

    case V4DFmode:
      if (pattern467 (x2, V4DFmode, V8DFmode) != 0)
        return -1;
      if (const_0_to_1_operand (operands[3], VOIDmode)
          && const_4_to_5_operand (operands[4], VOIDmode)
          && const_2_to_3_operand (operands[5], VOIDmode)
          && const_6_to_7_operand (operands[6], VOIDmode)
          && 
#line 8580 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && 1))
        return 2697; /* avx_shufpd256_1 */
      if (!const_0_to_3_operand (operands[3], VOIDmode)
          || !const_0_to_3_operand (operands[4], VOIDmode)
          || !const_4_to_7_operand (operands[5], VOIDmode)
          || !const_4_to_7_operand (operands[6], VOIDmode)
          || !
#line 12688 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL
   && (INTVAL (operands[3]) == (INTVAL (operands[4]) - 1)
       && INTVAL (operands[5]) == (INTVAL (operands[6]) - 1))))
        return -1;
      return 3618; /* *avx512dq_shuf_f64x2_1 */

    case V4DImode:
      if (pattern467 (x2, V4DImode, V8DImode) != 0
          || pattern672 () != 0
          || !
#line 12688 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL
   && (INTVAL (operands[3]) == (INTVAL (operands[4]) - 1)
       && INTVAL (operands[5]) == (INTVAL (operands[6]) - 1))))
        return -1;
      return 3616; /* *avx512dq_shuf_i64x2_1 */

    default:
      return -1;
    }
}

static int
recog_140 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  x4 = XVECEXP (x3, 0, 0);
  if (GET_CODE (x4) != CONST_INT)
    return -1;
  x5 = XVECEXP (x3, 0, 1);
  if (GET_CODE (x5) == CONST_INT)
    {
      res = recog_138 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
    }
  operands[3] = x4;
  res = recog_139 (x1, insn, pnum_clobbers);
  if (res >= 0)
    return res;
  if (GET_CODE (x5) != CONST_INT)
    return -1;
  x6 = XVECEXP (x3, 0, 2);
  if (GET_CODE (x6) != CONST_INT)
    return -1;
  x7 = XVECEXP (x3, 0, 3);
  if (GET_CODE (x7) != CONST_INT
      || pattern542 (x2, V4SImode, V8SImode) != 0)
    return -1;
  switch (pattern751 (x3))
    {
    case 0:
      if (!
#line 12349 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1))
        return -1;
      return 3580; /* vec_interleave_highv4si */

    case 1:
      if (!
#line 12403 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1))
        return -1;
      return 3586; /* vec_interleave_lowv4si */

    default:
      return -1;
    }
}

static int
recog_141 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19, x20, x21;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  if (pattern433 (x3) != 0)
    return -1;
  x4 = XVECEXP (x3, 0, 0);
  switch (XWINT (x4, 0))
    {
    case 2LL:
      x5 = XVECEXP (x3, 0, 1);
      if (XWINT (x5, 0) != 18LL)
        return -1;
      x6 = XVECEXP (x3, 0, 2);
      if (XWINT (x6, 0) != 3LL)
        return -1;
      x7 = XVECEXP (x3, 0, 3);
      if (XWINT (x7, 0) != 19LL
          || pattern941 (x3) != 0)
        return -1;
      x8 = XVECEXP (x3, 0, 8);
      if (XWINT (x8, 0) != 10LL)
        return -1;
      x9 = XVECEXP (x3, 0, 9);
      if (XWINT (x9, 0) != 26LL)
        return -1;
      x10 = XVECEXP (x3, 0, 10);
      if (XWINT (x10, 0) != 11LL)
        return -1;
      x11 = XVECEXP (x3, 0, 11);
      if (XWINT (x11, 0) != 27LL
          || pattern964 (x3) != 0)
        return -1;
      x12 = XEXP (x2, 0);
      x13 = XEXP (x12, 1);
      operands[2] = x13;
      switch (GET_MODE (operands[0]))
        {
        case V16SFmode:
          if (pattern467 (x2, V16SFmode, V32SFmode) != 0
              || !
#line 6207 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2408; /* *avx512f_unpckhps512 */

        case V16SImode:
          if (pattern467 (x2, V16SImode, V32SImode) != 0
              || !
#line 12334 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 3578; /* *avx512f_interleave_highv16si */

        default:
          return -1;
        }

    case 0LL:
      x5 = XVECEXP (x3, 0, 1);
      switch (XWINT (x5, 0))
        {
        case 16LL:
          x6 = XVECEXP (x3, 0, 2);
          if (XWINT (x6, 0) != 1LL)
            return -1;
          x7 = XVECEXP (x3, 0, 3);
          if (XWINT (x7, 0) != 17LL)
            return -1;
          x12 = XEXP (x2, 0);
          x13 = XEXP (x12, 1);
          operands[2] = x13;
          x14 = XVECEXP (x3, 0, 4);
          switch (XWINT (x14, 0))
            {
            case 4LL:
              x15 = XVECEXP (x3, 0, 5);
              if (XWINT (x15, 0) != 20LL)
                return -1;
              x16 = XVECEXP (x3, 0, 6);
              if (XWINT (x16, 0) != 5LL)
                return -1;
              x17 = XVECEXP (x3, 0, 7);
              if (XWINT (x17, 0) != 21LL)
                return -1;
              x8 = XVECEXP (x3, 0, 8);
              if (XWINT (x8, 0) != 8LL)
                return -1;
              x9 = XVECEXP (x3, 0, 9);
              if (XWINT (x9, 0) != 24LL)
                return -1;
              x10 = XVECEXP (x3, 0, 10);
              if (XWINT (x10, 0) != 9LL)
                return -1;
              x11 = XVECEXP (x3, 0, 11);
              if (XWINT (x11, 0) != 25LL)
                return -1;
              x18 = XVECEXP (x3, 0, 12);
              if (XWINT (x18, 0) != 12LL)
                return -1;
              x19 = XVECEXP (x3, 0, 13);
              if (XWINT (x19, 0) != 28LL)
                return -1;
              x20 = XVECEXP (x3, 0, 14);
              if (XWINT (x20, 0) != 13LL)
                return -1;
              x21 = XVECEXP (x3, 0, 15);
              if (XWINT (x21, 0) != 29LL)
                return -1;
              switch (GET_MODE (operands[0]))
                {
                case V16SFmode:
                  if (pattern467 (x2, V16SFmode, V32SFmode) != 0
                      || !
#line 6295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                    return -1;
                  return 2414; /* *avx512f_unpcklps512 */

                case V16SImode:
                  if (pattern467 (x2, V16SImode, V32SImode) != 0
                      || !
#line 12389 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                    return -1;
                  return 3584; /* *avx512f_interleave_lowv16si */

                default:
                  return -1;
                }

            case 2LL:
              x15 = XVECEXP (x3, 0, 5);
              if (XWINT (x15, 0) != 18LL)
                return -1;
              x16 = XVECEXP (x3, 0, 6);
              if (XWINT (x16, 0) != 3LL)
                return -1;
              x17 = XVECEXP (x3, 0, 7);
              if (XWINT (x17, 0) != 19LL)
                return -1;
              x8 = XVECEXP (x3, 0, 8);
              switch (XWINT (x8, 0))
                {
                case 4LL:
                  x9 = XVECEXP (x3, 0, 9);
                  if (XWINT (x9, 0) != 20LL)
                    return -1;
                  x10 = XVECEXP (x3, 0, 10);
                  if (XWINT (x10, 0) != 5LL)
                    return -1;
                  x11 = XVECEXP (x3, 0, 11);
                  if (XWINT (x11, 0) != 21LL)
                    return -1;
                  x18 = XVECEXP (x3, 0, 12);
                  if (XWINT (x18, 0) != 6LL)
                    return -1;
                  x19 = XVECEXP (x3, 0, 13);
                  if (XWINT (x19, 0) != 22LL)
                    return -1;
                  x20 = XVECEXP (x3, 0, 14);
                  if (XWINT (x20, 0) != 7LL)
                    return -1;
                  x21 = XVECEXP (x3, 0, 15);
                  if (XWINT (x21, 0) != 23LL
                      || pattern573 (x2, V16QImode, V32QImode) != 0
                      || !
#line 12158 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1))
                    return -1;
                  return 3562; /* vec_interleave_lowv16qi */

                case 8LL:
                  x9 = XVECEXP (x3, 0, 9);
                  if (XWINT (x9, 0) != 24LL)
                    return -1;
                  x10 = XVECEXP (x3, 0, 10);
                  if (XWINT (x10, 0) != 9LL)
                    return -1;
                  x11 = XVECEXP (x3, 0, 11);
                  if (XWINT (x11, 0) != 25LL)
                    return -1;
                  x18 = XVECEXP (x3, 0, 12);
                  if (XWINT (x18, 0) != 10LL)
                    return -1;
                  x19 = XVECEXP (x3, 0, 13);
                  if (XWINT (x19, 0) != 26LL)
                    return -1;
                  x20 = XVECEXP (x3, 0, 14);
                  if (XWINT (x20, 0) != 11LL)
                    return -1;
                  x21 = XVECEXP (x3, 0, 15);
                  if (XWINT (x21, 0) != 27LL
                      || pattern467 (x2, V16HImode, V32HImode) != 0
                      || !
#line 12278 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && 1 && 1))
                    return -1;
                  return 3572; /* avx2_interleave_lowv16hi */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case 0LL:
          if (pattern766 (x3) != 0)
            return -1;
          x8 = XVECEXP (x3, 0, 8);
          if (XWINT (x8, 0) != 8LL)
            return -1;
          x9 = XVECEXP (x3, 0, 9);
          if (XWINT (x9, 0) != 8LL)
            return -1;
          x10 = XVECEXP (x3, 0, 10);
          if (XWINT (x10, 0) != 10LL)
            return -1;
          x11 = XVECEXP (x3, 0, 11);
          if (XWINT (x11, 0) != 10LL)
            return -1;
          x18 = XVECEXP (x3, 0, 12);
          if (XWINT (x18, 0) != 12LL)
            return -1;
          x19 = XVECEXP (x3, 0, 13);
          if (XWINT (x19, 0) != 12LL)
            return -1;
          x20 = XVECEXP (x3, 0, 14);
          if (XWINT (x20, 0) != 14LL)
            return -1;
          x21 = XVECEXP (x3, 0, 15);
          if (XWINT (x21, 0) != 14LL
              || pattern895 (x2, V16SFmode, V32SFmode) != 0
              || !
#line 6488 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2430; /* *avx512f_movsldup512 */

        default:
          return -1;
        }

    case 1LL:
      x5 = XVECEXP (x3, 0, 1);
      if (XWINT (x5, 0) != 1LL)
        return -1;
      x6 = XVECEXP (x3, 0, 2);
      if (XWINT (x6, 0) != 3LL)
        return -1;
      x7 = XVECEXP (x3, 0, 3);
      if (XWINT (x7, 0) != 3LL)
        return -1;
      x14 = XVECEXP (x3, 0, 4);
      if (XWINT (x14, 0) != 5LL)
        return -1;
      x15 = XVECEXP (x3, 0, 5);
      if (XWINT (x15, 0) != 5LL)
        return -1;
      x16 = XVECEXP (x3, 0, 6);
      if (XWINT (x16, 0) != 7LL)
        return -1;
      x17 = XVECEXP (x3, 0, 7);
      if (XWINT (x17, 0) != 7LL)
        return -1;
      x8 = XVECEXP (x3, 0, 8);
      if (XWINT (x8, 0) != 9LL)
        return -1;
      x9 = XVECEXP (x3, 0, 9);
      if (XWINT (x9, 0) != 9LL)
        return -1;
      x10 = XVECEXP (x3, 0, 10);
      if (XWINT (x10, 0) != 11LL)
        return -1;
      x11 = XVECEXP (x3, 0, 11);
      if (XWINT (x11, 0) != 11LL)
        return -1;
      x18 = XVECEXP (x3, 0, 12);
      if (XWINT (x18, 0) != 13LL)
        return -1;
      x19 = XVECEXP (x3, 0, 13);
      if (XWINT (x19, 0) != 13LL)
        return -1;
      x20 = XVECEXP (x3, 0, 14);
      if (XWINT (x20, 0) != 15LL)
        return -1;
      x21 = XVECEXP (x3, 0, 15);
      if (XWINT (x21, 0) != 15LL
          || pattern895 (x2, V16SFmode, V32SFmode) != 0
          || !
#line 6435 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
        return -1;
      return 2424; /* *avx512f_movshdup512 */

    case 8LL:
      x5 = XVECEXP (x3, 0, 1);
      if (XWINT (x5, 0) != 24LL)
        return -1;
      x6 = XVECEXP (x3, 0, 2);
      if (XWINT (x6, 0) != 9LL)
        return -1;
      x7 = XVECEXP (x3, 0, 3);
      if (XWINT (x7, 0) != 25LL)
        return -1;
      x14 = XVECEXP (x3, 0, 4);
      if (XWINT (x14, 0) != 10LL)
        return -1;
      x15 = XVECEXP (x3, 0, 5);
      if (XWINT (x15, 0) != 26LL)
        return -1;
      x16 = XVECEXP (x3, 0, 6);
      if (XWINT (x16, 0) != 11LL)
        return -1;
      x17 = XVECEXP (x3, 0, 7);
      if (XWINT (x17, 0) != 27LL
          || pattern965 (x3) != 0
          || pattern542 (x2, V16QImode, V32QImode) != 0
          || !
#line 12062 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1))
        return -1;
      return 3556; /* vec_interleave_highv16qi */

    case 4LL:
      x5 = XVECEXP (x3, 0, 1);
      if (XWINT (x5, 0) != 20LL)
        return -1;
      x6 = XVECEXP (x3, 0, 2);
      if (XWINT (x6, 0) != 5LL)
        return -1;
      x7 = XVECEXP (x3, 0, 3);
      if (XWINT (x7, 0) != 21LL
          || pattern941 (x3) != 0
          || pattern965 (x3) != 0
          || pattern976 (x2, V16HImode, V32HImode) != 0
          || !
#line 12210 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && 1 && 1))
        return -1;
      return 3566; /* avx2_interleave_highv16hi */

    default:
      return -1;
    }
}

static int
recog_142 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19, x20, x21;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  x4 = XVECEXP (x3, 0, 0);
  if (GET_CODE (x4) != CONST_INT)
    return -1;
  x5 = XVECEXP (x3, 0, 1);
  if (GET_CODE (x5) == CONST_INT)
    {
      res = recog_141 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
    }
  operands[3] = x4;
  x6 = XEXP (x2, 0);
  x7 = XEXP (x6, 1);
  operands[2] = x7;
  operands[4] = x5;
  x8 = XVECEXP (x3, 0, 2);
  operands[5] = x8;
  x9 = XVECEXP (x3, 0, 3);
  operands[6] = x9;
  x10 = XVECEXP (x3, 0, 4);
  operands[7] = x10;
  x11 = XVECEXP (x3, 0, 5);
  operands[8] = x11;
  x12 = XVECEXP (x3, 0, 6);
  operands[9] = x12;
  x13 = XVECEXP (x3, 0, 7);
  operands[10] = x13;
  x14 = XVECEXP (x3, 0, 8);
  operands[11] = x14;
  x15 = XVECEXP (x3, 0, 9);
  operands[12] = x15;
  x16 = XVECEXP (x3, 0, 10);
  operands[13] = x16;
  x17 = XVECEXP (x3, 0, 11);
  operands[14] = x17;
  x18 = XVECEXP (x3, 0, 12);
  operands[15] = x18;
  x19 = XVECEXP (x3, 0, 13);
  operands[16] = x19;
  x20 = XVECEXP (x3, 0, 14);
  operands[17] = x20;
  x21 = XVECEXP (x3, 0, 15);
  operands[18] = x21;
  switch (GET_MODE (operands[0]))
    {
    case V16SFmode:
      if (pattern467 (x2, V16SFmode, V32SFmode) != 0)
        return -1;
      if (const_0_to_3_operand (operands[3], VOIDmode)
          && const_0_to_3_operand (operands[4], VOIDmode)
          && const_16_to_19_operand (operands[5], VOIDmode)
          && const_16_to_19_operand (operands[6], VOIDmode)
          && const_4_to_7_operand (operands[7], VOIDmode)
          && const_4_to_7_operand (operands[8], VOIDmode)
          && const_20_to_23_operand (operands[9], VOIDmode)
          && const_20_to_23_operand (operands[10], VOIDmode)
          && const_8_to_11_operand (operands[11], VOIDmode)
          && const_8_to_11_operand (operands[12], VOIDmode)
          && const_24_to_27_operand (operands[13], VOIDmode)
          && const_24_to_27_operand (operands[14], VOIDmode)
          && const_12_to_15_operand (operands[15], VOIDmode)
          && const_12_to_15_operand (operands[16], VOIDmode)
          && const_28_to_31_operand (operands[17], VOIDmode)
          && const_28_to_31_operand (operands[18], VOIDmode)
          && 
#line 8466 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F
   && (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)
       && INTVAL (operands[3]) == (INTVAL (operands[11]) - 8)
       && INTVAL (operands[4]) == (INTVAL (operands[12]) - 8)
       && INTVAL (operands[5]) == (INTVAL (operands[13]) - 8)
       && INTVAL (operands[6]) == (INTVAL (operands[14]) - 8)
       && INTVAL (operands[3]) == (INTVAL (operands[15]) - 12)
       && INTVAL (operands[4]) == (INTVAL (operands[16]) - 12)
       && INTVAL (operands[5]) == (INTVAL (operands[17]) - 12)
       && INTVAL (operands[6]) == (INTVAL (operands[18]) - 12))))
        return 2693; /* avx512f_shufps512_1 */
      if (!const_0_to_15_operand (operands[3], VOIDmode)
          || pattern966 () != 0
          || !
#line 12873 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F
   && (INTVAL (operands[3]) == (INTVAL (operands[4]) - 1)
       && INTVAL (operands[3]) == (INTVAL (operands[5]) - 2)
       && INTVAL (operands[3]) == (INTVAL (operands[6]) - 3)
       && INTVAL (operands[7]) == (INTVAL (operands[8]) - 1)
       && INTVAL (operands[7]) == (INTVAL (operands[9]) - 2)
       && INTVAL (operands[7]) == (INTVAL (operands[10]) - 3)
       && INTVAL (operands[11]) == (INTVAL (operands[12]) - 1)
       && INTVAL (operands[11]) == (INTVAL (operands[13]) - 2)
       && INTVAL (operands[11]) == (INTVAL (operands[14]) - 3)
       && INTVAL (operands[15]) == (INTVAL (operands[16]) - 1)
       && INTVAL (operands[15]) == (INTVAL (operands[17]) - 2)
       && INTVAL (operands[15]) == (INTVAL (operands[18]) - 3))))
        return -1;
      return 3628; /* avx512f_shuf_f32x4_1 */

    case V16SImode:
      if (pattern467 (x2, V16SImode, V32SImode) != 0
          || !const_0_to_15_operand (operands[3], VOIDmode)
          || pattern966 () != 0
          || !
#line 12873 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F
   && (INTVAL (operands[3]) == (INTVAL (operands[4]) - 1)
       && INTVAL (operands[3]) == (INTVAL (operands[5]) - 2)
       && INTVAL (operands[3]) == (INTVAL (operands[6]) - 3)
       && INTVAL (operands[7]) == (INTVAL (operands[8]) - 1)
       && INTVAL (operands[7]) == (INTVAL (operands[9]) - 2)
       && INTVAL (operands[7]) == (INTVAL (operands[10]) - 3)
       && INTVAL (operands[11]) == (INTVAL (operands[12]) - 1)
       && INTVAL (operands[11]) == (INTVAL (operands[13]) - 2)
       && INTVAL (operands[11]) == (INTVAL (operands[14]) - 3)
       && INTVAL (operands[15]) == (INTVAL (operands[16]) - 1)
       && INTVAL (operands[15]) == (INTVAL (operands[17]) - 2)
       && INTVAL (operands[15]) == (INTVAL (operands[18]) - 3))))
        return -1;
      return 3630; /* avx512f_shuf_i32x4_1 */

    default:
      return -1;
    }
}

static int
recog_143 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  if (pattern434 (x3) != 0)
    return -1;
  x4 = XVECEXP (x3, 0, 0);
  switch (XWINT (x4, 0))
    {
    case 2LL:
      x5 = XVECEXP (x3, 0, 1);
      if (XWINT (x5, 0) != 10LL)
        return -1;
      x6 = XVECEXP (x3, 0, 2);
      if (XWINT (x6, 0) != 3LL)
        return -1;
      x7 = XVECEXP (x3, 0, 3);
      if (XWINT (x7, 0) != 11LL)
        return -1;
      x8 = XVECEXP (x3, 0, 4);
      if (XWINT (x8, 0) != 6LL)
        return -1;
      x9 = XVECEXP (x3, 0, 5);
      if (XWINT (x9, 0) != 14LL)
        return -1;
      x10 = XVECEXP (x3, 0, 6);
      if (XWINT (x10, 0) != 7LL)
        return -1;
      x11 = XVECEXP (x3, 0, 7);
      if (XWINT (x11, 0) != 15LL)
        return -1;
      x12 = XEXP (x2, 0);
      x13 = XEXP (x12, 1);
      operands[2] = x13;
      switch (GET_MODE (operands[0]))
        {
        case V8SFmode:
          if (pattern467 (x2, V8SFmode, V16SFmode) != 0
              || !
#line 6224 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && 1))
            return -1;
          return 2410; /* avx_unpckhps256 */

        case V8SImode:
          if (pattern467 (x2, V8SImode, V16SImode) != 0
              || !
#line 12314 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && 1))
            return -1;
          return 3576; /* avx2_interleave_highv8si */

        default:
          return -1;
        }

    case 0LL:
      x5 = XVECEXP (x3, 0, 1);
      switch (XWINT (x5, 0))
        {
        case 8LL:
          x12 = XEXP (x2, 0);
          x13 = XEXP (x12, 1);
          operands[2] = x13;
          x6 = XVECEXP (x3, 0, 2);
          switch (XWINT (x6, 0))
            {
            case 1LL:
              x7 = XVECEXP (x3, 0, 3);
              if (XWINT (x7, 0) != 9LL)
                return -1;
              x8 = XVECEXP (x3, 0, 4);
              switch (XWINT (x8, 0))
                {
                case 4LL:
                  x9 = XVECEXP (x3, 0, 5);
                  if (XWINT (x9, 0) != 12LL)
                    return -1;
                  x10 = XVECEXP (x3, 0, 6);
                  if (XWINT (x10, 0) != 5LL)
                    return -1;
                  x11 = XVECEXP (x3, 0, 7);
                  if (XWINT (x11, 0) != 13LL)
                    return -1;
                  switch (GET_MODE (operands[0]))
                    {
                    case V8SFmode:
                      if (pattern467 (x2, V8SFmode, V16SFmode) != 0
                          || !
#line 6312 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && 1))
                        return -1;
                      return 2416; /* avx_unpcklps256 */

                    case V8SImode:
                      if (pattern467 (x2, V8SImode, V16SImode) != 0
                          || !
#line 12369 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && 1))
                        return -1;
                      return 3582; /* avx2_interleave_lowv8si */

                    default:
                      return -1;
                    }

                case 2LL:
                  x9 = XVECEXP (x3, 0, 5);
                  if (XWINT (x9, 0) != 10LL)
                    return -1;
                  x10 = XVECEXP (x3, 0, 6);
                  if (XWINT (x10, 0) != 3LL)
                    return -1;
                  x11 = XVECEXP (x3, 0, 7);
                  if (XWINT (x11, 0) != 11LL
                      || pattern573 (x2, V8HImode, V16HImode) != 0
                      || !
#line 12294 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1))
                    return -1;
                  return 3574; /* vec_interleave_lowv8hi */

                default:
                  return -1;
                }

            case 2LL:
              x7 = XVECEXP (x3, 0, 3);
              if (XWINT (x7, 0) != 10LL)
                return -1;
              x8 = XVECEXP (x3, 0, 4);
              if (XWINT (x8, 0) != 4LL)
                return -1;
              x9 = XVECEXP (x3, 0, 5);
              if (XWINT (x9, 0) != 12LL)
                return -1;
              x10 = XVECEXP (x3, 0, 6);
              if (XWINT (x10, 0) != 6LL)
                return -1;
              x11 = XVECEXP (x3, 0, 7);
              if (XWINT (x11, 0) != 14LL)
                return -1;
              switch (GET_MODE (operands[0]))
                {
                case V8DFmode:
                  if (!register_operand (operands[0], V8DFmode)
                      || pattern572 (x2, V8DFmode, V16DFmode) != 0
                      || !
#line 8022 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                    return -1;
                  return 2525; /* *avx512f_unpcklpd512 */

                case V8DImode:
                  if (pattern467 (x2, V8DImode, V16DImode) != 0
                      || !
#line 8713 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                    return -1;
                  return 2708; /* *avx512f_interleave_lowv8di */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case 0LL:
          if (pattern766 (x3) != 0
              || pattern895 (x2, V8SFmode, V16SFmode) != 0
              || !
#line 6451 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && 1))
            return -1;
          return 2426; /* avx_movsldup256 */

        default:
          return -1;
        }

    case 1LL:
      x6 = XVECEXP (x3, 0, 2);
      if (XWINT (x6, 0) != 3LL)
        return -1;
      x8 = XVECEXP (x3, 0, 4);
      if (XWINT (x8, 0) != 5LL)
        return -1;
      x10 = XVECEXP (x3, 0, 6);
      if (XWINT (x10, 0) != 7LL)
        return -1;
      x5 = XVECEXP (x3, 0, 1);
      switch (XWINT (x5, 0))
        {
        case 1LL:
          x7 = XVECEXP (x3, 0, 3);
          if (XWINT (x7, 0) != 3LL)
            return -1;
          x9 = XVECEXP (x3, 0, 5);
          if (XWINT (x9, 0) != 5LL)
            return -1;
          x11 = XVECEXP (x3, 0, 7);
          if (XWINT (x11, 0) != 7LL
              || pattern895 (x2, V8SFmode, V16SFmode) != 0
              || !
#line 6398 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && 1))
            return -1;
          return 2420; /* avx_movshdup256 */

        case 9LL:
          x7 = XVECEXP (x3, 0, 3);
          if (XWINT (x7, 0) != 11LL)
            return -1;
          x9 = XVECEXP (x3, 0, 5);
          if (XWINT (x9, 0) != 13LL)
            return -1;
          x11 = XVECEXP (x3, 0, 7);
          if (XWINT (x11, 0) != 15LL)
            return -1;
          x12 = XEXP (x2, 0);
          x13 = XEXP (x12, 1);
          operands[2] = x13;
          switch (GET_MODE (operands[0]))
            {
            case V8DFmode:
              if (pattern467 (x2, V8DFmode, V16DFmode) != 0
                  || !
#line 7883 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return -1;
              return 2519; /* *avx512f_unpckhpd512 */

            case V8DImode:
              if (pattern467 (x2, V8DImode, V16DImode) != 0
                  || !
#line 8663 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return -1;
              return 2702; /* *avx512f_interleave_highv8di */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 4LL:
      if (pattern729 (x3) != 0
          || pattern542 (x2, V8HImode, V16HImode) != 0
          || !
#line 12226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1))
        return -1;
      return 3568; /* vec_interleave_highv8hi */

    default:
      return -1;
    }
}

static int
recog_144 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  x4 = XVECEXP (x3, 0, 0);
  if (GET_CODE (x4) != CONST_INT)
    return -1;
  x5 = XVECEXP (x3, 0, 1);
  if (GET_CODE (x5) == CONST_INT)
    {
      res = recog_143 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
    }
  operands[3] = x4;
  x6 = XEXP (x2, 0);
  x7 = XEXP (x6, 1);
  operands[2] = x7;
  operands[4] = x5;
  x8 = XVECEXP (x3, 0, 2);
  operands[5] = x8;
  x9 = XVECEXP (x3, 0, 3);
  operands[6] = x9;
  x10 = XVECEXP (x3, 0, 4);
  operands[7] = x10;
  x11 = XVECEXP (x3, 0, 5);
  operands[8] = x11;
  x12 = XVECEXP (x3, 0, 6);
  operands[9] = x12;
  x13 = XVECEXP (x3, 0, 7);
  operands[10] = x13;
  switch (GET_MODE (operands[0]))
    {
    case V8SFmode:
      if (pattern467 (x2, V8SFmode, V16SFmode) != 0)
        return -1;
      if (const_0_to_3_operand (operands[3], VOIDmode)
          && const_0_to_3_operand (operands[4], VOIDmode)
          && const_8_to_11_operand (operands[5], VOIDmode)
          && const_8_to_11_operand (operands[6], VOIDmode)
          && const_4_to_7_operand (operands[7], VOIDmode)
          && const_4_to_7_operand (operands[8], VOIDmode)
          && const_12_to_15_operand (operands[9], VOIDmode)
          && const_12_to_15_operand (operands[10], VOIDmode)
          && 
#line 6532 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX
   && 1
   && (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 2432; /* avx_shufps256_1 */
      if (!const_0_to_7_operand (operands[3], VOIDmode)
          || pattern787 () != 0
          || !
#line 12799 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL
   && (INTVAL (operands[3]) == (INTVAL (operands[4]) - 1)
       && INTVAL (operands[3]) == (INTVAL (operands[5]) - 2)
       && INTVAL (operands[3]) == (INTVAL (operands[6]) - 3)
       && INTVAL (operands[7]) == (INTVAL (operands[8]) - 1)
       && INTVAL (operands[7]) == (INTVAL (operands[9]) - 2)
       && INTVAL (operands[7]) == (INTVAL (operands[10]) - 3))))
        return -1;
      return 3626; /* avx512vl_shuf_f32x4_1 */

    case V8DFmode:
      if (pattern467 (x2, V8DFmode, V16DFmode) != 0)
        return -1;
      if (const_0_to_1_operand (operands[3], VOIDmode)
          && const_8_to_9_operand (operands[4], VOIDmode)
          && const_2_to_3_operand (operands[5], VOIDmode)
          && const_10_to_11_operand (operands[6], VOIDmode)
          && const_4_to_5_operand (operands[7], VOIDmode)
          && const_12_to_13_operand (operands[8], VOIDmode)
          && const_6_to_7_operand (operands[9], VOIDmode)
          && const_14_to_15_operand (operands[10], VOIDmode)
          && 
#line 8531 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
        return 2695; /* avx512f_shufpd512_1 */
      if (!const_0_to_7_operand (operands[3], VOIDmode)
          || pattern787 () != 0
          || !
#line 12741 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F
   && (INTVAL (operands[3]) == (INTVAL (operands[4]) - 1)
       && INTVAL (operands[5]) == (INTVAL (operands[6]) - 1)
       && INTVAL (operands[7]) == (INTVAL (operands[8]) - 1)
       && INTVAL (operands[9]) == (INTVAL (operands[10]) - 1))))
        return -1;
      return 3620; /* avx512f_shuf_f64x2_1 */

    case V8DImode:
      if (pattern788 (x2, V8DImode, V16DImode) != 0
          || !
#line 12741 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F
   && (INTVAL (operands[3]) == (INTVAL (operands[4]) - 1)
       && INTVAL (operands[5]) == (INTVAL (operands[6]) - 1)
       && INTVAL (operands[7]) == (INTVAL (operands[8]) - 1)
       && INTVAL (operands[9]) == (INTVAL (operands[10]) - 1))))
        return -1;
      return 3622; /* avx512f_shuf_i64x2_1 */

    case V8SImode:
      if (pattern788 (x2, V8SImode, V16SImode) != 0
          || !
#line 12799 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL
   && (INTVAL (operands[3]) == (INTVAL (operands[4]) - 1)
       && INTVAL (operands[3]) == (INTVAL (operands[5]) - 2)
       && INTVAL (operands[3]) == (INTVAL (operands[6]) - 3)
       && INTVAL (operands[7]) == (INTVAL (operands[8]) - 1)
       && INTVAL (operands[7]) == (INTVAL (operands[9]) - 2)
       && INTVAL (operands[7]) == (INTVAL (operands[10]) - 3))))
        return -1;
      return 3624; /* avx512vl_shuf_i32x4_1 */

    default:
      return -1;
    }
}

static int
recog_145 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  operands[2] = x4;
  x5 = XEXP (x2, 1);
  x6 = XVECEXP (x5, 0, 0);
  switch (XWINT (x6, 0))
    {
    case 1LL:
      x7 = XVECEXP (x5, 0, 1);
      if (XWINT (x7, 0) != 3LL)
        return -1;
      switch (pattern574 (x2))
        {
        case 0:
          if (!
#line 7971 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && ix86_vec_interleave_v2df_operator_ok (operands, 1)))
            return -1;
          return 2524; /* *vec_interleave_highv2df */

        case 1:
          if (!
#line 8677 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1))
            return -1;
          return 2704; /* vec_interleave_highv2di */

        default:
          return -1;
        }

    case 0LL:
      x7 = XVECEXP (x5, 0, 1);
      if (XWINT (x7, 0) != 2LL)
        return -1;
      switch (pattern574 (x2))
        {
        case 0:
          if (!
#line 8133 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && ix86_vec_interleave_v2df_operator_ok (operands, 0)))
            return -1;
          return 2530; /* *vec_interleave_lowv2df */

        case 1:
          if (!
#line 8727 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1))
            return -1;
          return 2710; /* vec_interleave_lowv2di */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_146 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  x4 = XVECEXP (x3, 0, 0);
  if (GET_CODE (x4) != CONST_INT)
    return -1;
  x5 = XVECEXP (x3, 0, 1);
  if (GET_CODE (x5) == CONST_INT)
    {
      res = recog_145 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
    }
  operands[3] = x4;
  if (!const_0_to_1_operand (operands[3], VOIDmode))
    return -1;
  x6 = XEXP (x2, 0);
  x7 = XEXP (x6, 1);
  operands[2] = x7;
  operands[4] = x5;
  if (!const_2_to_3_operand (operands[4], VOIDmode))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case V2DImode:
      if (pattern573 (x2, V2DImode, V4DImode) != 0
          || !
#line 8745 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))
        return -1;
      return 2712; /* sse2_shufpd_v2di */

    case V2DFmode:
      if (pattern573 (x2, V2DFmode, V4DFmode) != 0
          || !
#line 8745 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))
        return -1;
      return 2713; /* sse2_shufpd_v2df */

    default:
      return -1;
    }
}

static int
recog_147 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19, x20, x21, x22, x23, x24, x25;
  rtx x26, x27, x28, x29, x30, x31, x32, x33;
  rtx x34, x35, x36, x37, x38, x39, x40, x41;
  rtx x42, x43, x44, x45, x46, x47, x48, x49;
  rtx x50, x51, x52, x53, x54, x55, x56, x57;
  rtx x58, x59, x60, x61, x62, x63, x64, x65;
  rtx x66, x67;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  if (pattern321 (x3) != 0)
    return -1;
  x4 = XVECEXP (x3, 0, 32);
  if (GET_CODE (x4) != CONST_INT)
    return -1;
  x5 = XVECEXP (x3, 0, 33);
  if (GET_CODE (x5) != CONST_INT)
    return -1;
  x6 = XVECEXP (x3, 0, 34);
  if (GET_CODE (x6) != CONST_INT)
    return -1;
  x7 = XVECEXP (x3, 0, 35);
  if (GET_CODE (x7) != CONST_INT)
    return -1;
  x8 = XVECEXP (x3, 0, 36);
  if (GET_CODE (x8) != CONST_INT)
    return -1;
  x9 = XVECEXP (x3, 0, 37);
  if (GET_CODE (x9) != CONST_INT)
    return -1;
  x10 = XVECEXP (x3, 0, 38);
  if (GET_CODE (x10) != CONST_INT)
    return -1;
  x11 = XVECEXP (x3, 0, 39);
  if (GET_CODE (x11) != CONST_INT)
    return -1;
  x12 = XVECEXP (x3, 0, 40);
  if (GET_CODE (x12) != CONST_INT)
    return -1;
  x13 = XVECEXP (x3, 0, 41);
  if (GET_CODE (x13) != CONST_INT)
    return -1;
  x14 = XVECEXP (x3, 0, 42);
  if (GET_CODE (x14) != CONST_INT)
    return -1;
  x15 = XVECEXP (x3, 0, 43);
  if (GET_CODE (x15) != CONST_INT)
    return -1;
  x16 = XVECEXP (x3, 0, 44);
  if (GET_CODE (x16) != CONST_INT)
    return -1;
  x17 = XVECEXP (x3, 0, 45);
  if (GET_CODE (x17) != CONST_INT)
    return -1;
  x18 = XVECEXP (x3, 0, 46);
  if (GET_CODE (x18) != CONST_INT)
    return -1;
  x19 = XVECEXP (x3, 0, 47);
  if (GET_CODE (x19) != CONST_INT)
    return -1;
  x20 = XVECEXP (x3, 0, 48);
  if (GET_CODE (x20) != CONST_INT)
    return -1;
  x21 = XVECEXP (x3, 0, 49);
  if (GET_CODE (x21) != CONST_INT)
    return -1;
  x22 = XVECEXP (x3, 0, 50);
  if (GET_CODE (x22) != CONST_INT)
    return -1;
  x23 = XVECEXP (x3, 0, 51);
  if (GET_CODE (x23) != CONST_INT)
    return -1;
  x24 = XVECEXP (x3, 0, 52);
  if (GET_CODE (x24) != CONST_INT)
    return -1;
  x25 = XVECEXP (x3, 0, 53);
  if (GET_CODE (x25) != CONST_INT)
    return -1;
  x26 = XVECEXP (x3, 0, 54);
  if (GET_CODE (x26) != CONST_INT)
    return -1;
  x27 = XVECEXP (x3, 0, 55);
  if (GET_CODE (x27) != CONST_INT)
    return -1;
  x28 = XVECEXP (x3, 0, 56);
  if (GET_CODE (x28) != CONST_INT)
    return -1;
  x29 = XVECEXP (x3, 0, 57);
  if (GET_CODE (x29) != CONST_INT)
    return -1;
  x30 = XVECEXP (x3, 0, 58);
  if (GET_CODE (x30) != CONST_INT)
    return -1;
  x31 = XVECEXP (x3, 0, 59);
  if (GET_CODE (x31) != CONST_INT)
    return -1;
  x32 = XVECEXP (x3, 0, 60);
  if (GET_CODE (x32) != CONST_INT)
    return -1;
  x33 = XVECEXP (x3, 0, 61);
  if (GET_CODE (x33) != CONST_INT)
    return -1;
  x34 = XVECEXP (x3, 0, 62);
  if (GET_CODE (x34) != CONST_INT)
    return -1;
  x35 = XVECEXP (x3, 0, 63);
  if (GET_CODE (x35) != CONST_INT
      || pattern976 (x2, V64QImode, V128QImode) != 0)
    return -1;
  x36 = XVECEXP (x3, 0, 0);
  switch (XWINT (x36, 0))
    {
    case 8LL:
      x37 = XVECEXP (x3, 0, 1);
      if (XWINT (x37, 0) != 72LL)
        return -1;
      x38 = XVECEXP (x3, 0, 2);
      if (XWINT (x38, 0) != 9LL)
        return -1;
      x39 = XVECEXP (x3, 0, 3);
      if (XWINT (x39, 0) != 73LL)
        return -1;
      x40 = XVECEXP (x3, 0, 4);
      if (XWINT (x40, 0) != 10LL)
        return -1;
      x41 = XVECEXP (x3, 0, 5);
      if (XWINT (x41, 0) != 74LL)
        return -1;
      x42 = XVECEXP (x3, 0, 6);
      if (XWINT (x42, 0) != 11LL)
        return -1;
      x43 = XVECEXP (x3, 0, 7);
      if (XWINT (x43, 0) != 75LL)
        return -1;
      x44 = XVECEXP (x3, 0, 8);
      if (XWINT (x44, 0) != 12LL)
        return -1;
      x45 = XVECEXP (x3, 0, 9);
      if (XWINT (x45, 0) != 76LL)
        return -1;
      x46 = XVECEXP (x3, 0, 10);
      if (XWINT (x46, 0) != 13LL)
        return -1;
      x47 = XVECEXP (x3, 0, 11);
      if (XWINT (x47, 0) != 77LL)
        return -1;
      x48 = XVECEXP (x3, 0, 12);
      if (XWINT (x48, 0) != 14LL)
        return -1;
      x49 = XVECEXP (x3, 0, 13);
      if (XWINT (x49, 0) != 78LL)
        return -1;
      x50 = XVECEXP (x3, 0, 14);
      if (XWINT (x50, 0) != 15LL)
        return -1;
      x51 = XVECEXP (x3, 0, 15);
      if (XWINT (x51, 0) != 79LL)
        return -1;
      x52 = XVECEXP (x3, 0, 16);
      if (XWINT (x52, 0) != 24LL)
        return -1;
      x53 = XVECEXP (x3, 0, 17);
      if (XWINT (x53, 0) != 88LL)
        return -1;
      x54 = XVECEXP (x3, 0, 18);
      if (XWINT (x54, 0) != 25LL)
        return -1;
      x55 = XVECEXP (x3, 0, 19);
      if (XWINT (x55, 0) != 89LL)
        return -1;
      x56 = XVECEXP (x3, 0, 20);
      if (XWINT (x56, 0) != 26LL)
        return -1;
      x57 = XVECEXP (x3, 0, 21);
      if (XWINT (x57, 0) != 90LL)
        return -1;
      x58 = XVECEXP (x3, 0, 22);
      if (XWINT (x58, 0) != 27LL)
        return -1;
      x59 = XVECEXP (x3, 0, 23);
      if (XWINT (x59, 0) != 91LL)
        return -1;
      x60 = XVECEXP (x3, 0, 24);
      if (XWINT (x60, 0) != 28LL)
        return -1;
      x61 = XVECEXP (x3, 0, 25);
      if (XWINT (x61, 0) != 92LL)
        return -1;
      x62 = XVECEXP (x3, 0, 26);
      if (XWINT (x62, 0) != 29LL)
        return -1;
      x63 = XVECEXP (x3, 0, 27);
      if (XWINT (x63, 0) != 93LL)
        return -1;
      x64 = XVECEXP (x3, 0, 28);
      if (XWINT (x64, 0) != 30LL)
        return -1;
      x65 = XVECEXP (x3, 0, 29);
      if (XWINT (x65, 0) != 94LL)
        return -1;
      x66 = XVECEXP (x3, 0, 30);
      if (XWINT (x66, 0) != 31LL)
        return -1;
      x67 = XVECEXP (x3, 0, 31);
      if (XWINT (x67, 0) != 95LL
          || XWINT (x4, 0) != 40LL
          || XWINT (x5, 0) != 104LL
          || XWINT (x6, 0) != 41LL
          || XWINT (x7, 0) != 105LL
          || XWINT (x8, 0) != 42LL
          || XWINT (x9, 0) != 106LL
          || XWINT (x10, 0) != 43LL
          || XWINT (x11, 0) != 107LL
          || XWINT (x12, 0) != 44LL
          || XWINT (x13, 0) != 108LL
          || XWINT (x14, 0) != 45LL
          || XWINT (x15, 0) != 109LL
          || XWINT (x16, 0) != 46LL
          || XWINT (x17, 0) != 110LL
          || XWINT (x18, 0) != 47LL
          || XWINT (x19, 0) != 111LL
          || XWINT (x20, 0) != 56LL
          || XWINT (x21, 0) != 120LL
          || XWINT (x22, 0) != 57LL
          || XWINT (x23, 0) != 121LL
          || XWINT (x24, 0) != 58LL
          || XWINT (x25, 0) != 122LL
          || XWINT (x26, 0) != 59LL
          || XWINT (x27, 0) != 123LL
          || XWINT (x28, 0) != 60LL
          || XWINT (x29, 0) != 124LL
          || XWINT (x30, 0) != 61LL
          || XWINT (x31, 0) != 125LL
          || XWINT (x32, 0) != 62LL
          || XWINT (x33, 0) != 126LL
          || XWINT (x34, 0) != 63LL
          || XWINT (x35, 0) != 127LL
          || !
#line 12014 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
        return -1;
      return 3552; /* avx512bw_interleave_highv64qi */

    case 0LL:
      x37 = XVECEXP (x3, 0, 1);
      if (XWINT (x37, 0) != 64LL)
        return -1;
      x38 = XVECEXP (x3, 0, 2);
      if (XWINT (x38, 0) != 1LL)
        return -1;
      x39 = XVECEXP (x3, 0, 3);
      if (XWINT (x39, 0) != 65LL)
        return -1;
      x40 = XVECEXP (x3, 0, 4);
      if (XWINT (x40, 0) != 2LL)
        return -1;
      x41 = XVECEXP (x3, 0, 5);
      if (XWINT (x41, 0) != 66LL)
        return -1;
      x42 = XVECEXP (x3, 0, 6);
      if (XWINT (x42, 0) != 3LL)
        return -1;
      x43 = XVECEXP (x3, 0, 7);
      if (XWINT (x43, 0) != 67LL)
        return -1;
      x44 = XVECEXP (x3, 0, 8);
      if (XWINT (x44, 0) != 4LL)
        return -1;
      x45 = XVECEXP (x3, 0, 9);
      if (XWINT (x45, 0) != 68LL)
        return -1;
      x46 = XVECEXP (x3, 0, 10);
      if (XWINT (x46, 0) != 5LL)
        return -1;
      x47 = XVECEXP (x3, 0, 11);
      if (XWINT (x47, 0) != 69LL)
        return -1;
      x48 = XVECEXP (x3, 0, 12);
      if (XWINT (x48, 0) != 6LL)
        return -1;
      x49 = XVECEXP (x3, 0, 13);
      if (XWINT (x49, 0) != 70LL)
        return -1;
      x50 = XVECEXP (x3, 0, 14);
      if (XWINT (x50, 0) != 7LL)
        return -1;
      x51 = XVECEXP (x3, 0, 15);
      if (XWINT (x51, 0) != 71LL)
        return -1;
      x52 = XVECEXP (x3, 0, 16);
      if (XWINT (x52, 0) != 16LL)
        return -1;
      x53 = XVECEXP (x3, 0, 17);
      if (XWINT (x53, 0) != 80LL)
        return -1;
      x54 = XVECEXP (x3, 0, 18);
      if (XWINT (x54, 0) != 17LL)
        return -1;
      x55 = XVECEXP (x3, 0, 19);
      if (XWINT (x55, 0) != 81LL)
        return -1;
      x56 = XVECEXP (x3, 0, 20);
      if (XWINT (x56, 0) != 18LL)
        return -1;
      x57 = XVECEXP (x3, 0, 21);
      if (XWINT (x57, 0) != 82LL)
        return -1;
      x58 = XVECEXP (x3, 0, 22);
      if (XWINT (x58, 0) != 19LL)
        return -1;
      x59 = XVECEXP (x3, 0, 23);
      if (XWINT (x59, 0) != 83LL)
        return -1;
      x60 = XVECEXP (x3, 0, 24);
      if (XWINT (x60, 0) != 20LL)
        return -1;
      x61 = XVECEXP (x3, 0, 25);
      if (XWINT (x61, 0) != 84LL)
        return -1;
      x62 = XVECEXP (x3, 0, 26);
      if (XWINT (x62, 0) != 21LL)
        return -1;
      x63 = XVECEXP (x3, 0, 27);
      if (XWINT (x63, 0) != 85LL)
        return -1;
      x64 = XVECEXP (x3, 0, 28);
      if (XWINT (x64, 0) != 22LL)
        return -1;
      x65 = XVECEXP (x3, 0, 29);
      if (XWINT (x65, 0) != 86LL)
        return -1;
      x66 = XVECEXP (x3, 0, 30);
      if (XWINT (x66, 0) != 23LL)
        return -1;
      x67 = XVECEXP (x3, 0, 31);
      if (XWINT (x67, 0) != 87LL
          || XWINT (x4, 0) != 32LL
          || XWINT (x5, 0) != 96LL
          || XWINT (x6, 0) != 33LL
          || XWINT (x7, 0) != 97LL
          || XWINT (x8, 0) != 34LL
          || XWINT (x9, 0) != 98LL
          || XWINT (x10, 0) != 35LL
          || XWINT (x11, 0) != 99LL
          || XWINT (x12, 0) != 36LL
          || XWINT (x13, 0) != 100LL
          || XWINT (x14, 0) != 37LL
          || XWINT (x15, 0) != 101LL
          || XWINT (x16, 0) != 38LL
          || XWINT (x17, 0) != 102LL
          || XWINT (x18, 0) != 39LL
          || XWINT (x19, 0) != 103LL
          || XWINT (x20, 0) != 48LL
          || XWINT (x21, 0) != 112LL
          || XWINT (x22, 0) != 49LL
          || XWINT (x23, 0) != 113LL
          || XWINT (x24, 0) != 50LL
          || XWINT (x25, 0) != 114LL
          || XWINT (x26, 0) != 51LL
          || XWINT (x27, 0) != 115LL
          || XWINT (x28, 0) != 52LL
          || XWINT (x29, 0) != 116LL
          || XWINT (x30, 0) != 53LL
          || XWINT (x31, 0) != 117LL
          || XWINT (x32, 0) != 54LL
          || XWINT (x33, 0) != 118LL
          || XWINT (x34, 0) != 55LL
          || XWINT (x35, 0) != 119LL
          || !
#line 12110 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
        return -1;
      return 3558; /* avx512bw_interleave_lowv64qi */

    default:
      return -1;
    }
}

static int
recog_148 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19, x20, x21, x22, x23, x24, x25;
  rtx x26, x27, x28, x29, x30, x31, x32, x33;
  rtx x34, x35, x36, x37;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  if (pattern321 (x3) != 0)
    return -1;
  x4 = XEXP (x2, 0);
  x5 = XEXP (x4, 1);
  operands[2] = x5;
  x6 = XVECEXP (x3, 0, 0);
  switch (XWINT (x6, 0))
    {
    case 8LL:
      x7 = XVECEXP (x3, 0, 1);
      if (XWINT (x7, 0) != 40LL)
        return -1;
      x8 = XVECEXP (x3, 0, 2);
      if (XWINT (x8, 0) != 9LL)
        return -1;
      x9 = XVECEXP (x3, 0, 3);
      if (XWINT (x9, 0) != 41LL)
        return -1;
      x10 = XVECEXP (x3, 0, 4);
      if (XWINT (x10, 0) != 10LL)
        return -1;
      x11 = XVECEXP (x3, 0, 5);
      if (XWINT (x11, 0) != 42LL)
        return -1;
      x12 = XVECEXP (x3, 0, 6);
      if (XWINT (x12, 0) != 11LL)
        return -1;
      x13 = XVECEXP (x3, 0, 7);
      if (XWINT (x13, 0) != 43LL
          || pattern978 (x3) != 0)
        return -1;
      x14 = XVECEXP (x3, 0, 16);
      if (XWINT (x14, 0) != 24LL)
        return -1;
      x15 = XVECEXP (x3, 0, 17);
      if (XWINT (x15, 0) != 56LL)
        return -1;
      x16 = XVECEXP (x3, 0, 18);
      if (XWINT (x16, 0) != 25LL)
        return -1;
      x17 = XVECEXP (x3, 0, 19);
      if (XWINT (x17, 0) != 57LL)
        return -1;
      x18 = XVECEXP (x3, 0, 20);
      if (XWINT (x18, 0) != 26LL)
        return -1;
      x19 = XVECEXP (x3, 0, 21);
      if (XWINT (x19, 0) != 58LL)
        return -1;
      x20 = XVECEXP (x3, 0, 22);
      if (XWINT (x20, 0) != 27LL)
        return -1;
      x21 = XVECEXP (x3, 0, 23);
      if (XWINT (x21, 0) != 59LL
          || pattern984 (x2, V32QImode, V64QImode) != 0
          || !
#line 12042 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && 1))
        return -1;
      return 3554; /* avx2_interleave_highv32qi */

    case 0LL:
      x7 = XVECEXP (x3, 0, 1);
      if (XWINT (x7, 0) != 32LL)
        return -1;
      x8 = XVECEXP (x3, 0, 2);
      if (XWINT (x8, 0) != 1LL)
        return -1;
      x9 = XVECEXP (x3, 0, 3);
      if (XWINT (x9, 0) != 33LL)
        return -1;
      x10 = XVECEXP (x3, 0, 4);
      if (XWINT (x10, 0) != 2LL)
        return -1;
      x11 = XVECEXP (x3, 0, 5);
      if (XWINT (x11, 0) != 34LL)
        return -1;
      x12 = XVECEXP (x3, 0, 6);
      if (XWINT (x12, 0) != 3LL)
        return -1;
      x13 = XVECEXP (x3, 0, 7);
      if (XWINT (x13, 0) != 35LL)
        return -1;
      x14 = XVECEXP (x3, 0, 16);
      if (XWINT (x14, 0) != 16LL)
        return -1;
      x15 = XVECEXP (x3, 0, 17);
      if (XWINT (x15, 0) != 48LL)
        return -1;
      x16 = XVECEXP (x3, 0, 18);
      if (XWINT (x16, 0) != 17LL)
        return -1;
      x17 = XVECEXP (x3, 0, 19);
      if (XWINT (x17, 0) != 49LL)
        return -1;
      x18 = XVECEXP (x3, 0, 20);
      if (XWINT (x18, 0) != 18LL)
        return -1;
      x19 = XVECEXP (x3, 0, 21);
      if (XWINT (x19, 0) != 50LL)
        return -1;
      x20 = XVECEXP (x3, 0, 22);
      if (XWINT (x20, 0) != 19LL)
        return -1;
      x21 = XVECEXP (x3, 0, 23);
      if (XWINT (x21, 0) != 51LL)
        return -1;
      x22 = XVECEXP (x3, 0, 8);
      switch (XWINT (x22, 0))
        {
        case 4LL:
          x23 = XVECEXP (x3, 0, 9);
          if (XWINT (x23, 0) != 36LL)
            return -1;
          x24 = XVECEXP (x3, 0, 10);
          if (XWINT (x24, 0) != 5LL)
            return -1;
          x25 = XVECEXP (x3, 0, 11);
          if (XWINT (x25, 0) != 37LL)
            return -1;
          x26 = XVECEXP (x3, 0, 12);
          if (XWINT (x26, 0) != 6LL)
            return -1;
          x27 = XVECEXP (x3, 0, 13);
          if (XWINT (x27, 0) != 38LL)
            return -1;
          x28 = XVECEXP (x3, 0, 14);
          if (XWINT (x28, 0) != 7LL)
            return -1;
          x29 = XVECEXP (x3, 0, 15);
          if (XWINT (x29, 0) != 39LL)
            return -1;
          x30 = XVECEXP (x3, 0, 24);
          if (XWINT (x30, 0) != 20LL)
            return -1;
          x31 = XVECEXP (x3, 0, 25);
          if (XWINT (x31, 0) != 52LL)
            return -1;
          x32 = XVECEXP (x3, 0, 26);
          if (XWINT (x32, 0) != 21LL)
            return -1;
          x33 = XVECEXP (x3, 0, 27);
          if (XWINT (x33, 0) != 53LL)
            return -1;
          x34 = XVECEXP (x3, 0, 28);
          if (XWINT (x34, 0) != 22LL)
            return -1;
          x35 = XVECEXP (x3, 0, 29);
          if (XWINT (x35, 0) != 54LL)
            return -1;
          x36 = XVECEXP (x3, 0, 30);
          if (XWINT (x36, 0) != 23LL)
            return -1;
          x37 = XVECEXP (x3, 0, 31);
          if (XWINT (x37, 0) != 55LL
              || pattern467 (x2, V32QImode, V64QImode) != 0
              || !
#line 12138 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && 1 && 1))
            return -1;
          return 3560; /* avx2_interleave_lowv32qi */

        case 8LL:
          x23 = XVECEXP (x3, 0, 9);
          if (XWINT (x23, 0) != 40LL)
            return -1;
          x24 = XVECEXP (x3, 0, 10);
          if (XWINT (x24, 0) != 9LL)
            return -1;
          x25 = XVECEXP (x3, 0, 11);
          if (XWINT (x25, 0) != 41LL)
            return -1;
          x26 = XVECEXP (x3, 0, 12);
          if (XWINT (x26, 0) != 10LL)
            return -1;
          x27 = XVECEXP (x3, 0, 13);
          if (XWINT (x27, 0) != 42LL)
            return -1;
          x28 = XVECEXP (x3, 0, 14);
          if (XWINT (x28, 0) != 11LL)
            return -1;
          x29 = XVECEXP (x3, 0, 15);
          if (XWINT (x29, 0) != 43LL)
            return -1;
          x30 = XVECEXP (x3, 0, 24);
          if (XWINT (x30, 0) != 24LL)
            return -1;
          x31 = XVECEXP (x3, 0, 25);
          if (XWINT (x31, 0) != 56LL)
            return -1;
          x32 = XVECEXP (x3, 0, 26);
          if (XWINT (x32, 0) != 25LL)
            return -1;
          x33 = XVECEXP (x3, 0, 27);
          if (XWINT (x33, 0) != 57LL)
            return -1;
          x34 = XVECEXP (x3, 0, 28);
          if (XWINT (x34, 0) != 26LL)
            return -1;
          x35 = XVECEXP (x3, 0, 29);
          if (XWINT (x35, 0) != 58LL)
            return -1;
          x36 = XVECEXP (x3, 0, 30);
          if (XWINT (x36, 0) != 27LL)
            return -1;
          x37 = XVECEXP (x3, 0, 31);
          if (XWINT (x37, 0) != 59LL
              || pattern467 (x2, V32HImode, V64HImode) != 0
              || !
#line 12258 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
            return -1;
          return 3570; /* *avx512bw_interleave_lowv32hi */

        default:
          return -1;
        }

    case 4LL:
      x7 = XVECEXP (x3, 0, 1);
      if (XWINT (x7, 0) != 36LL)
        return -1;
      x8 = XVECEXP (x3, 0, 2);
      if (XWINT (x8, 0) != 5LL)
        return -1;
      x9 = XVECEXP (x3, 0, 3);
      if (XWINT (x9, 0) != 37LL)
        return -1;
      x10 = XVECEXP (x3, 0, 4);
      if (XWINT (x10, 0) != 6LL)
        return -1;
      x11 = XVECEXP (x3, 0, 5);
      if (XWINT (x11, 0) != 38LL)
        return -1;
      x12 = XVECEXP (x3, 0, 6);
      if (XWINT (x12, 0) != 7LL)
        return -1;
      x13 = XVECEXP (x3, 0, 7);
      if (XWINT (x13, 0) != 39LL
          || pattern978 (x3) != 0)
        return -1;
      x14 = XVECEXP (x3, 0, 16);
      if (XWINT (x14, 0) != 20LL)
        return -1;
      x15 = XVECEXP (x3, 0, 17);
      if (XWINT (x15, 0) != 52LL)
        return -1;
      x16 = XVECEXP (x3, 0, 18);
      if (XWINT (x16, 0) != 21LL)
        return -1;
      x17 = XVECEXP (x3, 0, 19);
      if (XWINT (x17, 0) != 53LL)
        return -1;
      x18 = XVECEXP (x3, 0, 20);
      if (XWINT (x18, 0) != 22LL)
        return -1;
      x19 = XVECEXP (x3, 0, 21);
      if (XWINT (x19, 0) != 54LL)
        return -1;
      x20 = XVECEXP (x3, 0, 22);
      if (XWINT (x20, 0) != 23LL)
        return -1;
      x21 = XVECEXP (x3, 0, 23);
      if (XWINT (x21, 0) != 55LL
          || pattern984 (x2, V32HImode, V64HImode) != 0
          || !
#line 12190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
        return -1;
      return 3564; /* avx512bw_interleave_highv32hi */

    default:
      return -1;
    }
}

static int
recog_149 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  x4 = XVECEXP (x3, 0, 0);
  if (GET_CODE (x4) != CONST_INT)
    return -1;
  operands[2] = x4;
  if (const_0_to_7_operand (operands[2], VOIDmode))
    {
      x5 = XVECEXP (x3, 0, 1);
      operands[3] = x5;
      if (const_0_to_7_operand (operands[3], VOIDmode))
        {
          switch (GET_MODE (operands[0]))
            {
            case V2DFmode:
              if (nonimmediate_operand (operands[0], V2DFmode)
                  && GET_MODE (x2) == V2DFmode
                  && register_operand (operands[1], V8DFmode)
                  && 
#line 7216 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ
   && INTVAL (operands[2]) % 2 == 0
   && INTVAL (operands[2]) == INTVAL (operands[3]) - 1))
                return 2461; /* *avx512dq_vextractf64x2_1 */
              break;

            case V2DImode:
              if (nonimmediate_operand (operands[0], V2DImode)
                  && GET_MODE (x2) == V2DImode
                  && register_operand (operands[1], V8DImode)
                  && 
#line 7216 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ
   && INTVAL (operands[2]) % 2 == 0
   && INTVAL (operands[2]) == INTVAL (operands[3]) - 1))
                return 2463; /* *avx512dq_vextracti64x2_1 */
              break;

            default:
              break;
            }
        }
    }
  x5 = XVECEXP (x3, 0, 1);
  if (GET_CODE (x5) != CONST_INT)
    return -1;
  switch (XWINT (x4, 0))
    {
    case 0LL:
      if (XWINT (x5, 0) != 1LL)
        return -1;
      switch (pattern460 (x2))
        {
        case 0:
          if (!
#line 7518 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX
   && 1 && 1
   && (false || !(MEM_P (operands[0]) && MEM_P (operands[1])))))
            return -1;
          return 2491; /* vec_extract_lo_v4di */

        case 1:
          if (!
#line 7518 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX
   && 1 && 1
   && (false || !(MEM_P (operands[0]) && MEM_P (operands[1])))))
            return -1;
          return 2493; /* vec_extract_lo_v4df */

        default:
          return -1;
        }

    case 2LL:
      if (XWINT (x5, 0) != 3LL)
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case V2DImode:
          if (!nonimmediate_operand (operands[0], V2DImode)
              || GET_MODE (x2) != V2DImode
              || !register_operand (operands[1], V4DImode)
              || !
#line 7549 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && 1 && 1))
            return -1;
          return 2495; /* vec_extract_hi_v4di */

        case V2DFmode:
          if (!nonimmediate_operand (operands[0], V2DFmode)
              || GET_MODE (x2) != V2DFmode
              || !register_operand (operands[1], V4DFmode)
              || !
#line 7549 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && 1 && 1))
            return -1;
          return 2497; /* vec_extract_hi_v4df */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_150 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  x4 = XVECEXP (x3, 0, 1);
  operands[3] = x4;
  x5 = XVECEXP (x3, 0, 2);
  operands[4] = x5;
  x6 = XVECEXP (x3, 0, 3);
  operands[5] = x6;
  switch (GET_MODE (operands[0]))
    {
    case V4SFmode:
      if (!nonimmediate_operand (operands[0], V4SFmode)
          || GET_MODE (x2) != V4SFmode
          || pattern704 (V16SFmode) != 0
          || !
#line 7237 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F
   && INTVAL (operands[2]) % 4 == 0
   && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
   && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
   && INTVAL (operands[4]) == INTVAL (operands[5]) - 1))
        return -1;
      return 2465; /* *avx512f_vextractf32x4_1 */

    case V4SImode:
      if (GET_MODE (x2) != V4SImode)
        return -1;
      if (nonimmediate_operand (operands[0], V4SImode)
          && pattern704 (V16SImode) == 0
          && 
#line 7237 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F
   && INTVAL (operands[2]) % 4 == 0
   && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
   && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
   && INTVAL (operands[4]) == INTVAL (operands[5]) - 1))
        return 2467; /* *avx512f_vextracti32x4_1 */
      if (!register_operand (operands[0], V4SImode)
          || !vector_operand (operands[1], V4SImode)
          || pattern611 () != 0
          || !
#line 13094 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1))
        return -1;
      return 3636; /* sse2_pshufd_1 */

    case V4DImode:
      if (pattern612 (x2, V4DImode) != 0
          || !
#line 17392 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && 1))
        return -1;
      return 4131; /* avx2_permv4di_1 */

    case V4DFmode:
      if (pattern612 (x2, V4DFmode) != 0
          || !
#line 17392 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && 1))
        return -1;
      return 4133; /* avx2_permv4df_1 */

    default:
      return -1;
    }
}

static int
recog_151 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  x4 = XVECEXP (x3, 0, 0);
  if (GET_CODE (x4) != CONST_INT)
    return -1;
  operands[2] = x4;
  res = recog_150 (x1, insn, pnum_clobbers);
  if (res >= 0)
    return res;
  x5 = XVECEXP (x3, 0, 1);
  if (GET_CODE (x5) != CONST_INT)
    return -1;
  x6 = XVECEXP (x3, 0, 2);
  if (GET_CODE (x6) != CONST_INT)
    return -1;
  x7 = XVECEXP (x3, 0, 3);
  if (GET_CODE (x7) != CONST_INT)
    return -1;
  switch (XWINT (x4, 0))
    {
    case 0LL:
      if (XWINT (x5, 0) != 1LL
          || XWINT (x6, 0) != 2LL
          || XWINT (x7, 0) != 3LL)
        return -1;
      switch (pattern560 (x2))
        {
        case 0:
          if (!
#line 7330 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F
   && (false || !(MEM_P (operands[0]) && MEM_P (operands[1])))))
            return -1;
          return 2471; /* vec_extract_lo_v8df */

        case 1:
          if (!
#line 7330 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F
   && (false || !(MEM_P (operands[0]) && MEM_P (operands[1])))))
            return -1;
          return 2473; /* vec_extract_lo_v8di */

        case 2:
          if (!
#line 7587 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX
   && 1 && 1
   && (false || !(MEM_P (operands[0]) && MEM_P (operands[1])))))
            return -1;
          return 2499; /* vec_extract_lo_v8si */

        case 3:
          if (!
#line 7587 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX
   && 1 && 1
   && (false || !(MEM_P (operands[0]) && MEM_P (operands[1])))))
            return -1;
          return 2501; /* vec_extract_lo_v8sf */

        default:
          return -1;
        }

    case 4LL:
      if (XWINT (x5, 0) != 5LL
          || XWINT (x6, 0) != 6LL
          || XWINT (x7, 0) != 7LL)
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case V4DFmode:
          if (!nonimmediate_operand (operands[0], V4DFmode)
              || GET_MODE (x2) != V4DFmode
              || !register_operand (operands[1], V8DFmode)
              || !
#line 7369 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2477; /* vec_extract_hi_v8df */

        case V4DImode:
          if (!nonimmediate_operand (operands[0], V4DImode)
              || GET_MODE (x2) != V4DImode
              || !register_operand (operands[1], V8DImode)
              || !
#line 7369 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2479; /* vec_extract_hi_v8di */

        case V4SImode:
          if (!nonimmediate_operand (operands[0], V4SImode)
              || GET_MODE (x2) != V4SImode
              || !register_operand (operands[1], V8SImode)
              || !
#line 7659 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
            return -1;
          return 2509; /* vec_extract_hi_v8si */

        case V4SFmode:
          if (!nonimmediate_operand (operands[0], V4SFmode)
              || GET_MODE (x2) != V4SFmode
              || !register_operand (operands[1], V8SFmode)
              || !
#line 7659 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
            return -1;
          return 2510; /* vec_extract_hi_v8sf */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_152 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  if (pattern434 (x3) != 0)
    return -1;
  x4 = XVECEXP (x3, 0, 0);
  switch (XWINT (x4, 0))
    {
    case 8LL:
      x5 = XVECEXP (x3, 0, 1);
      if (XWINT (x5, 0) != 9LL)
        return -1;
      x6 = XVECEXP (x3, 0, 2);
      if (XWINT (x6, 0) != 10LL)
        return -1;
      x7 = XVECEXP (x3, 0, 3);
      if (XWINT (x7, 0) != 11LL)
        return -1;
      x8 = XVECEXP (x3, 0, 4);
      if (XWINT (x8, 0) != 12LL)
        return -1;
      x9 = XVECEXP (x3, 0, 5);
      if (XWINT (x9, 0) != 13LL)
        return -1;
      x10 = XVECEXP (x3, 0, 6);
      if (XWINT (x10, 0) != 14LL)
        return -1;
      x11 = XVECEXP (x3, 0, 7);
      if (XWINT (x11, 0) != 15LL)
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case V8SFmode:
          if (!nonimmediate_operand (operands[0], V8SFmode)
              || GET_MODE (x2) != V8SFmode
              || !register_operand (operands[1], V16SFmode)
              || !
#line 7405 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1))
            return -1;
          return 2483; /* vec_extract_hi_v16sf */

        case V8SImode:
          if (!nonimmediate_operand (operands[0], V8SImode)
              || GET_MODE (x2) != V8SImode
              || !register_operand (operands[1], V16SImode)
              || !
#line 7405 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1))
            return -1;
          return 2485; /* vec_extract_hi_v16si */

        case V8HImode:
          if (!nonimmediate_operand (operands[0], V8HImode)
              || GET_MODE (x2) != V8HImode
              || !register_operand (operands[1], V16HImode)
              || !
#line 7730 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
            return -1;
          return 2514; /* vec_extract_hi_v16hi */

        default:
          return -1;
        }

    case 0LL:
      x5 = XVECEXP (x3, 0, 1);
      if (XWINT (x5, 0) != 1LL)
        return -1;
      x6 = XVECEXP (x3, 0, 2);
      if (XWINT (x6, 0) != 2LL)
        return -1;
      x7 = XVECEXP (x3, 0, 3);
      if (XWINT (x7, 0) != 3LL)
        return -1;
      x8 = XVECEXP (x3, 0, 4);
      if (XWINT (x8, 0) != 4LL)
        return -1;
      x9 = XVECEXP (x3, 0, 5);
      if (XWINT (x9, 0) != 5LL)
        return -1;
      x10 = XVECEXP (x3, 0, 6);
      if (XWINT (x10, 0) != 6LL)
        return -1;
      x11 = XVECEXP (x3, 0, 7);
      if (XWINT (x11, 0) != 7LL)
        return -1;
      switch (pattern721 (x2))
        {
        case 0:
          if (!
#line 7489 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F
   && 1
   && (false || !(MEM_P (operands[0]) && MEM_P (operands[1])))))
            return -1;
          return 2487; /* vec_extract_lo_v16sf */

        case 1:
          if (!
#line 7489 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F
   && 1
   && (false || !(MEM_P (operands[0]) && MEM_P (operands[1])))))
            return -1;
          return 2489; /* vec_extract_lo_v16si */

        case 2:
          if (!
#line 7716 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
            return -1;
          return 2513; /* vec_extract_lo_v16hi */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_153 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  x4 = XVECEXP (x3, 0, 4);
  if (GET_CODE (x4) != CONST_INT)
    return -1;
  operands[6] = x4;
  if (const_4_to_7_operand (operands[6], VOIDmode)
      && pattern613 (x3) == 0)
    {
      switch (GET_MODE (operands[0]))
        {
        case V8SImode:
          if (register_operand (operands[0], V8SImode)
              && GET_MODE (x2) == V8SImode
              && nonimmediate_operand (operands[1], V8SImode)
              && 
#line 13032 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2
   && 1
   && 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 3634; /* avx2_pshufd_1 */
          break;

        case V8DFmode:
          if (register_operand (operands[0], V8DFmode)
              && GET_MODE (x2) == V8DFmode
              && nonimmediate_operand (operands[1], V8DFmode)
              && 
#line 17459 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1
   && (INTVAL (operands[2]) == (INTVAL (operands[6]) - 4)
       && INTVAL (operands[3]) == (INTVAL (operands[7]) - 4)
       && INTVAL (operands[4]) == (INTVAL (operands[8]) - 4)
       && INTVAL (operands[5]) == (INTVAL (operands[9]) - 4))))
            return 4135; /* avx512f_permv8df_1 */
          break;

        case V8DImode:
          if (register_operand (operands[0], V8DImode)
              && GET_MODE (x2) == V8DImode
              && nonimmediate_operand (operands[1], V8DImode)
              && 
#line 17459 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1
   && (INTVAL (operands[2]) == (INTVAL (operands[6]) - 4)
       && INTVAL (operands[3]) == (INTVAL (operands[7]) - 4)
       && INTVAL (operands[4]) == (INTVAL (operands[8]) - 4)
       && INTVAL (operands[5]) == (INTVAL (operands[9]) - 4))))
            return 4137; /* avx512f_permv8di_1 */
          break;

        default:
          break;
        }
    }
  if (XWINT (x4, 0) != 4LL)
    return -1;
  x5 = XVECEXP (x3, 0, 5);
  if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
    return -1;
  x6 = XVECEXP (x3, 0, 6);
  if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
    return -1;
  x7 = XVECEXP (x3, 0, 7);
  if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
      || !register_operand (operands[0], V8HImode)
      || GET_MODE (x2) != V8HImode
      || !vector_operand (operands[1], V8HImode))
    return -1;
  x8 = XVECEXP (x3, 0, 1);
  operands[3] = x8;
  if (!const_0_to_3_operand (operands[3], VOIDmode))
    return -1;
  x9 = XVECEXP (x3, 0, 2);
  operands[4] = x9;
  if (!const_0_to_3_operand (operands[4], VOIDmode))
    return -1;
  x10 = XVECEXP (x3, 0, 3);
  operands[5] = x10;
  if (!const_0_to_3_operand (operands[5], VOIDmode)
      || !
#line 13250 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1))
    return -1;
  return 3642; /* sse2_pshuflw_1 */
}

static int
recog_154 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  x4 = XVECEXP (x3, 0, 0);
  if (GET_CODE (x4) != CONST_INT)
    return -1;
  x5 = XVECEXP (x3, 0, 1);
  if (GET_CODE (x5) == CONST_INT)
    {
      res = recog_152 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
    }
  operands[2] = x4;
  if (const_0_to_3_operand (operands[2], VOIDmode))
    {
      res = recog_153 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
    }
  if (XWINT (x4, 0) != 0LL
      || x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x6 = XVECEXP (x3, 0, 2);
  if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
    return -1;
  x7 = XVECEXP (x3, 0, 3);
  if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 3]
      || !register_operand (operands[0], V8HImode)
      || GET_MODE (x2) != V8HImode
      || !vector_operand (operands[1], V8HImode)
      || pattern705 (x3) != 0
      || !
#line 13407 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1))
    return -1;
  return 3648; /* sse2_pshufhw_1 */
}

static int
recog_155 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  if (pattern433 (x3) != 0)
    return -1;
  x4 = XVECEXP (x3, 0, 0);
  switch (XWINT (x4, 0))
    {
    case 0LL:
      if (pattern904 (x3) != 0)
        return -1;
      switch (pattern902 (x2))
        {
        case 0:
          if (!
#line 7681 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
            return -1;
          return 2511; /* vec_extract_lo_v32hi */

        case 1:
          if (!
#line 7813 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
            return -1;
          return 2517; /* vec_extract_lo_v32qi */

        default:
          return -1;
        }

    case 16LL:
      x5 = XVECEXP (x3, 0, 1);
      if (XWINT (x5, 0) != 17LL)
        return -1;
      x6 = XVECEXP (x3, 0, 2);
      if (XWINT (x6, 0) != 18LL)
        return -1;
      x7 = XVECEXP (x3, 0, 3);
      if (XWINT (x7, 0) != 19LL)
        return -1;
      x8 = XVECEXP (x3, 0, 4);
      if (XWINT (x8, 0) != 20LL)
        return -1;
      x9 = XVECEXP (x3, 0, 5);
      if (XWINT (x9, 0) != 21LL)
        return -1;
      x10 = XVECEXP (x3, 0, 6);
      if (XWINT (x10, 0) != 22LL)
        return -1;
      x11 = XVECEXP (x3, 0, 7);
      if (XWINT (x11, 0) != 23LL)
        return -1;
      x12 = XVECEXP (x3, 0, 8);
      if (XWINT (x12, 0) != 24LL)
        return -1;
      x13 = XVECEXP (x3, 0, 9);
      if (XWINT (x13, 0) != 25LL)
        return -1;
      x14 = XVECEXP (x3, 0, 10);
      if (XWINT (x14, 0) != 26LL)
        return -1;
      x15 = XVECEXP (x3, 0, 11);
      if (XWINT (x15, 0) != 27LL)
        return -1;
      x16 = XVECEXP (x3, 0, 12);
      if (XWINT (x16, 0) != 28LL)
        return -1;
      x17 = XVECEXP (x3, 0, 13);
      if (XWINT (x17, 0) != 29LL)
        return -1;
      x18 = XVECEXP (x3, 0, 14);
      if (XWINT (x18, 0) != 30LL)
        return -1;
      x19 = XVECEXP (x3, 0, 15);
      if (XWINT (x19, 0) != 31LL)
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case V16HImode:
          if (!nonimmediate_operand (operands[0], V16HImode)
              || GET_MODE (x2) != V16HImode
              || !register_operand (operands[1], V32HImode)
              || !
#line 7699 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2512; /* vec_extract_hi_v32hi */

        case V16QImode:
          if (!nonimmediate_operand (operands[0], V16QImode)
              || GET_MODE (x2) != V16QImode
              || !register_operand (operands[1], V32QImode)
              || !
#line 7831 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
            return -1;
          return 2518; /* vec_extract_hi_v32qi */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_156 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != V16SImode
      || !nonimmediate_operand (operands[1], V16SImode))
    return -1;
  x3 = XEXP (x2, 1);
  if (pattern613 (x3) != 0)
    return -1;
  x4 = XVECEXP (x3, 0, 8);
  operands[10] = x4;
  if (!const_8_to_11_operand (operands[10], VOIDmode))
    return -1;
  x5 = XVECEXP (x3, 0, 9);
  operands[11] = x5;
  if (!const_8_to_11_operand (operands[11], VOIDmode))
    return -1;
  x6 = XVECEXP (x3, 0, 10);
  operands[12] = x6;
  if (!const_8_to_11_operand (operands[12], VOIDmode))
    return -1;
  x7 = XVECEXP (x3, 0, 11);
  operands[13] = x7;
  if (!const_8_to_11_operand (operands[13], VOIDmode))
    return -1;
  x8 = XVECEXP (x3, 0, 12);
  operands[14] = x8;
  if (!const_12_to_15_operand (operands[14], VOIDmode))
    return -1;
  x9 = XVECEXP (x3, 0, 13);
  operands[15] = x9;
  if (!const_12_to_15_operand (operands[15], VOIDmode))
    return -1;
  x10 = XVECEXP (x3, 0, 14);
  operands[16] = x10;
  if (!const_12_to_15_operand (operands[16], VOIDmode))
    return -1;
  x11 = XVECEXP (x3, 0, 15);
  operands[17] = x11;
  if (!const_12_to_15_operand (operands[17], VOIDmode)
      || !
#line 12951 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F
   && 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])
   && INTVAL (operands[2]) + 8 == INTVAL (operands[10])
   && INTVAL (operands[3]) + 8 == INTVAL (operands[11])
   && INTVAL (operands[4]) + 8 == INTVAL (operands[12])
   && INTVAL (operands[5]) + 8 == INTVAL (operands[13])
   && INTVAL (operands[2]) + 12 == INTVAL (operands[14])
   && INTVAL (operands[3]) + 12 == INTVAL (operands[15])
   && INTVAL (operands[4]) + 12 == INTVAL (operands[16])
   && INTVAL (operands[5]) + 12 == INTVAL (operands[17])))
    return -1;
  return 3632; /* avx512f_pshufd_1 */
}

static int
recog_157 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  x4 = XVECEXP (x3, 0, 4);
  if (GET_CODE (x4) != CONST_INT)
    return -1;
  operands[6] = x4;
  if (const_4_to_7_operand (operands[6], VOIDmode)
      && register_operand (operands[0], V16SImode))
    {
      res = recog_156 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
    }
  if (XWINT (x4, 0) != 4LL)
    return -1;
  x5 = XVECEXP (x3, 0, 5);
  if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
    return -1;
  x6 = XVECEXP (x3, 0, 6);
  if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
    return -1;
  x7 = XVECEXP (x3, 0, 7);
  if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
      || pattern341 (x3) != 0
      || !register_operand (operands[0], V16HImode)
      || GET_MODE (x2) != V16HImode
      || !nonimmediate_operand (operands[1], V16HImode))
    return -1;
  x8 = XVECEXP (x3, 0, 1);
  operands[3] = x8;
  if (!const_0_to_3_operand (operands[3], VOIDmode))
    return -1;
  x9 = XVECEXP (x3, 0, 2);
  operands[4] = x9;
  if (!const_0_to_3_operand (operands[4], VOIDmode))
    return -1;
  x10 = XVECEXP (x3, 0, 3);
  operands[5] = x10;
  if (!const_0_to_3_operand (operands[5], VOIDmode))
    return -1;
  x11 = XVECEXP (x3, 0, 8);
  operands[6] = x11;
  if (!const_8_to_11_operand (operands[6], VOIDmode))
    return -1;
  x12 = XVECEXP (x3, 0, 9);
  operands[7] = x12;
  if (!const_8_to_11_operand (operands[7], VOIDmode))
    return -1;
  x13 = XVECEXP (x3, 0, 10);
  operands[8] = x13;
  if (!const_8_to_11_operand (operands[8], VOIDmode))
    return -1;
  x14 = XVECEXP (x3, 0, 11);
  operands[9] = x14;
  if (!const_8_to_11_operand (operands[9], VOIDmode)
      || !
#line 13184 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2
   && 1 && 1
   && 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 -1;
  return 3640; /* avx2_pshuflw_1 */
}

static int
recog_158 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  x4 = XVECEXP (x3, 0, 0);
  if (GET_CODE (x4) != CONST_INT)
    return -1;
  x5 = XVECEXP (x3, 0, 1);
  if (GET_CODE (x5) == CONST_INT)
    {
      res = recog_155 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
    }
  operands[2] = x4;
  if (const_0_to_3_operand (operands[2], VOIDmode))
    {
      res = recog_157 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
    }
  if (XWINT (x4, 0) != 0LL
      || x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x6 = XVECEXP (x3, 0, 2);
  if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
    return -1;
  x7 = XVECEXP (x3, 0, 3);
  if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
    return -1;
  x8 = XVECEXP (x3, 0, 8);
  if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    return -1;
  x9 = XVECEXP (x3, 0, 9);
  if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 9])
    return -1;
  x10 = XVECEXP (x3, 0, 10);
  if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
    return -1;
  x11 = XVECEXP (x3, 0, 11);
  if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 11]
      || !register_operand (operands[0], V16HImode)
      || GET_MODE (x2) != V16HImode
      || !nonimmediate_operand (operands[1], V16HImode)
      || pattern705 (x3) != 0)
    return -1;
  x12 = XVECEXP (x3, 0, 12);
  operands[6] = x12;
  if (!const_12_to_15_operand (operands[6], VOIDmode))
    return -1;
  x13 = XVECEXP (x3, 0, 13);
  operands[7] = x13;
  if (!const_12_to_15_operand (operands[7], VOIDmode))
    return -1;
  x14 = XVECEXP (x3, 0, 14);
  operands[8] = x14;
  if (!const_12_to_15_operand (operands[8], VOIDmode))
    return -1;
  x15 = XVECEXP (x3, 0, 15);
  operands[9] = x15;
  if (!const_12_to_15_operand (operands[9], VOIDmode)
      || !
#line 13341 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2
   && 1 && 1
   && 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 -1;
  return 3646; /* avx2_pshufhw_1 */
}

static int
recog_159 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19, x20, x21, x22, x23, x24, x25;
  rtx x26, x27, x28, x29, x30, x31, x32, x33;
  rtx x34, x35;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  if (pattern321 (x3) != 0
      || !nonimmediate_operand (operands[0], V32QImode)
      || GET_MODE (x2) != V32QImode)
    return -1;
  x4 = XVECEXP (x3, 0, 0);
  switch (XWINT (x4, 0))
    {
    case 0LL:
      if (pattern904 (x3) != 0)
        return -1;
      x5 = XVECEXP (x3, 0, 16);
      if (XWINT (x5, 0) != 16LL)
        return -1;
      x6 = XVECEXP (x3, 0, 17);
      if (XWINT (x6, 0) != 17LL)
        return -1;
      x7 = XVECEXP (x3, 0, 18);
      if (XWINT (x7, 0) != 18LL)
        return -1;
      x8 = XVECEXP (x3, 0, 19);
      if (XWINT (x8, 0) != 19LL)
        return -1;
      x9 = XVECEXP (x3, 0, 20);
      if (XWINT (x9, 0) != 20LL)
        return -1;
      x10 = XVECEXP (x3, 0, 21);
      if (XWINT (x10, 0) != 21LL)
        return -1;
      x11 = XVECEXP (x3, 0, 22);
      if (XWINT (x11, 0) != 22LL)
        return -1;
      x12 = XVECEXP (x3, 0, 23);
      if (XWINT (x12, 0) != 23LL)
        return -1;
      x13 = XVECEXP (x3, 0, 24);
      if (XWINT (x13, 0) != 24LL)
        return -1;
      x14 = XVECEXP (x3, 0, 25);
      if (XWINT (x14, 0) != 25LL)
        return -1;
      x15 = XVECEXP (x3, 0, 26);
      if (XWINT (x15, 0) != 26LL)
        return -1;
      x16 = XVECEXP (x3, 0, 27);
      if (XWINT (x16, 0) != 27LL)
        return -1;
      x17 = XVECEXP (x3, 0, 28);
      if (XWINT (x17, 0) != 28LL)
        return -1;
      x18 = XVECEXP (x3, 0, 29);
      if (XWINT (x18, 0) != 29LL)
        return -1;
      x19 = XVECEXP (x3, 0, 30);
      if (XWINT (x19, 0) != 30LL)
        return -1;
      x20 = XVECEXP (x3, 0, 31);
      if (XWINT (x20, 0) != 31LL
          || !nonimmediate_operand (operands[1], V64QImode)
          || !
#line 7766 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
        return -1;
      return 2515; /* vec_extract_lo_v64qi */

    case 32LL:
      x21 = XVECEXP (x3, 0, 1);
      if (XWINT (x21, 0) != 33LL)
        return -1;
      x22 = XVECEXP (x3, 0, 2);
      if (XWINT (x22, 0) != 34LL)
        return -1;
      x23 = XVECEXP (x3, 0, 3);
      if (XWINT (x23, 0) != 35LL)
        return -1;
      x24 = XVECEXP (x3, 0, 4);
      if (XWINT (x24, 0) != 36LL)
        return -1;
      x25 = XVECEXP (x3, 0, 5);
      if (XWINT (x25, 0) != 37LL)
        return -1;
      x26 = XVECEXP (x3, 0, 6);
      if (XWINT (x26, 0) != 38LL)
        return -1;
      x27 = XVECEXP (x3, 0, 7);
      if (XWINT (x27, 0) != 39LL)
        return -1;
      x28 = XVECEXP (x3, 0, 8);
      if (XWINT (x28, 0) != 40LL)
        return -1;
      x29 = XVECEXP (x3, 0, 9);
      if (XWINT (x29, 0) != 41LL)
        return -1;
      x30 = XVECEXP (x3, 0, 10);
      if (XWINT (x30, 0) != 42LL)
        return -1;
      x31 = XVECEXP (x3, 0, 11);
      if (XWINT (x31, 0) != 43LL)
        return -1;
      x32 = XVECEXP (x3, 0, 12);
      if (XWINT (x32, 0) != 44LL)
        return -1;
      x33 = XVECEXP (x3, 0, 13);
      if (XWINT (x33, 0) != 45LL)
        return -1;
      x34 = XVECEXP (x3, 0, 14);
      if (XWINT (x34, 0) != 46LL)
        return -1;
      x35 = XVECEXP (x3, 0, 15);
      if (XWINT (x35, 0) != 47LL)
        return -1;
      x5 = XVECEXP (x3, 0, 16);
      if (XWINT (x5, 0) != 48LL)
        return -1;
      x6 = XVECEXP (x3, 0, 17);
      if (XWINT (x6, 0) != 49LL)
        return -1;
      x7 = XVECEXP (x3, 0, 18);
      if (XWINT (x7, 0) != 50LL)
        return -1;
      x8 = XVECEXP (x3, 0, 19);
      if (XWINT (x8, 0) != 51LL)
        return -1;
      x9 = XVECEXP (x3, 0, 20);
      if (XWINT (x9, 0) != 52LL)
        return -1;
      x10 = XVECEXP (x3, 0, 21);
      if (XWINT (x10, 0) != 53LL)
        return -1;
      x11 = XVECEXP (x3, 0, 22);
      if (XWINT (x11, 0) != 54LL)
        return -1;
      x12 = XVECEXP (x3, 0, 23);
      if (XWINT (x12, 0) != 55LL)
        return -1;
      x13 = XVECEXP (x3, 0, 24);
      if (XWINT (x13, 0) != 56LL)
        return -1;
      x14 = XVECEXP (x3, 0, 25);
      if (XWINT (x14, 0) != 57LL)
        return -1;
      x15 = XVECEXP (x3, 0, 26);
      if (XWINT (x15, 0) != 58LL)
        return -1;
      x16 = XVECEXP (x3, 0, 27);
      if (XWINT (x16, 0) != 59LL)
        return -1;
      x17 = XVECEXP (x3, 0, 28);
      if (XWINT (x17, 0) != 60LL)
        return -1;
      x18 = XVECEXP (x3, 0, 29);
      if (XWINT (x18, 0) != 61LL)
        return -1;
      x19 = XVECEXP (x3, 0, 30);
      if (XWINT (x19, 0) != 62LL)
        return -1;
      x20 = XVECEXP (x3, 0, 31);
      if (XWINT (x20, 0) != 63LL
          || !register_operand (operands[1], V64QImode)
          || !
#line 7792 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
        return -1;
      return 2516; /* vec_extract_hi_v64qi */

    default:
      return -1;
    }
}

static int
recog_160 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) != PARALLEL)
    return -1;
  x5 = XEXP (x3, 0);
  operands[1] = x5;
  switch (XVECLEN (x4, 0))
    {
    case 1:
      x6 = XVECEXP (x4, 0, 0);
      if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case V8SFmode:
          if (!register_operand (operands[0], V8SFmode)
              || GET_MODE (x2) != V8SFmode
              || GET_MODE (x3) != SFmode)
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case V4SFmode:
              if (register_operand (operands[1], V4SFmode)
                  && (
#line 6767 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 239 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
                return 2442; /* avx2_vec_dupv8sf */
              if (!nonimmediate_operand (operands[1], V4SFmode)
                  || !(
#line 17522 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 4159; /* avx512vl_vec_dupv8sf */

            case V8SFmode:
              if (!register_operand (operands[1], V8SFmode)
                  || !
#line 6779 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))
                return -1;
              return 2444; /* avx2_vec_dupv8sf_1 */

            default:
              return -1;
            }

        case V4SFmode:
          if (!register_operand (operands[0], V4SFmode)
              || GET_MODE (x2) != V4SFmode
              || GET_MODE (x3) != SFmode)
            return -1;
          if (register_operand (operands[1], V4SFmode)
              && 
#line 6767 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))
            return 2443; /* avx2_vec_dupv4sf */
          if (!nonimmediate_operand (operands[1], V4SFmode)
              || !(
#line 17522 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4161; /* avx512vl_vec_dupv4sf */

        case V16SFmode:
          if (!register_operand (operands[0], V16SFmode)
              || GET_MODE (x2) != V16SFmode
              || GET_MODE (x3) != SFmode)
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case V16SFmode:
              if (!register_operand (operands[1], V16SFmode)
                  || !
#line 6791 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return -1;
              return 2445; /* avx512f_vec_dupv16sf_1 */

            case V4SFmode:
              if (!nonimmediate_operand (operands[1], V4SFmode)
                  || !
#line 17522 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return -1;
              return 4157; /* avx512f_vec_dupv16sf */

            default:
              return -1;
            }

        case V8DFmode:
          if (!register_operand (operands[0], V8DFmode)
              || GET_MODE (x2) != V8DFmode
              || GET_MODE (x3) != DFmode)
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case V8DFmode:
              if (!register_operand (operands[1], V8DFmode)
                  || !
#line 6791 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return -1;
              return 2446; /* avx512f_vec_dupv8df_1 */

            case V2DFmode:
              if (!nonimmediate_operand (operands[1], V2DFmode)
                  || !
#line 17522 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return -1;
              return 4163; /* avx512f_vec_dupv8df */

            default:
              return -1;
            }

        case V16SImode:
          if (!register_operand (operands[0], V16SImode)
              || GET_MODE (x2) != V16SImode
              || GET_MODE (x3) != SImode)
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case V4SImode:
              if (!nonimmediate_operand (operands[1], V4SImode))
                return -1;
              if ((
#line 17289 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 286 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
                return 4087; /* avx2_pbroadcastv16si */
              if (!
#line 17522 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return -1;
              return 4145; /* avx512f_vec_dupv16si */

            case V16SImode:
              if (!nonimmediate_operand (operands[1], V16SImode)
                  || !
#line 17508 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return -1;
              return 4141; /* avx512f_vec_dupv16si_1 */

            default:
              return -1;
            }

        case V8DImode:
          if (!register_operand (operands[0], V8DImode)
              || GET_MODE (x2) != V8DImode
              || GET_MODE (x3) != DImode)
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case V2DImode:
              if (!nonimmediate_operand (operands[1], V2DImode))
                return -1;
              if ((
#line 17289 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 286 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
                return 4088; /* avx2_pbroadcastv8di */
              if (!
#line 17522 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return -1;
              return 4151; /* avx512f_vec_dupv8di */

            case V8DImode:
              if (!nonimmediate_operand (operands[1], V8DImode)
                  || !
#line 17508 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return -1;
              return 4142; /* avx512f_vec_dupv8di_1 */

            default:
              return -1;
            }

        case V64QImode:
          if (!register_operand (operands[0], V64QImode)
              || GET_MODE (x2) != V64QImode
              || GET_MODE (x3) != QImode)
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case V16QImode:
              if (!nonimmediate_operand (operands[1], V16QImode))
                return -1;
              if ((
#line 17289 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 287 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
                return 4089; /* avx2_pbroadcastv64qi */
              if (!
#line 17544 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
                return -1;
              return 4169; /* avx512bw_vec_dupv64qi */

            case V64QImode:
              if (!nonimmediate_operand (operands[1], V64QImode)
                  || !(
#line 17508 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 545 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
                return -1;
              return 4144; /* avx512bw_vec_dupv64qi_1 */

            default:
              return -1;
            }

        case V32QImode:
          if (!register_operand (operands[0], V32QImode)
              || GET_MODE (x2) != V32QImode
              || GET_MODE (x3) != QImode)
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case V16QImode:
              if (!nonimmediate_operand (operands[1], V16QImode))
                return -1;
              if ((
#line 17289 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 287 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
                return 4090; /* avx2_pbroadcastv32qi */
              if (!(
#line 17544 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 4173; /* avx512vl_vec_dupv32qi */

            case V32QImode:
              if (!nonimmediate_operand (operands[1], V32QImode)
                  || !
#line 17303 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))
                return -1;
              return 4099; /* avx2_pbroadcastv32qi_1 */

            default:
              return -1;
            }

        case V16QImode:
          if (pattern435 (x2, V16QImode, QImode) != 0)
            return -1;
          if (
#line 17289 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))
            return 4091; /* avx2_pbroadcastv16qi */
          if (!(
#line 17544 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4171; /* avx512vl_vec_dupv16qi */

        case V32HImode:
          if (!register_operand (operands[0], V32HImode)
              || GET_MODE (x2) != V32HImode
              || GET_MODE (x3) != HImode)
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case V8HImode:
              if (!nonimmediate_operand (operands[1], V8HImode))
                return -1;
              if ((
#line 17289 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 288 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
                return 4092; /* avx2_pbroadcastv32hi */
              if (!
#line 17544 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
                return -1;
              return 4175; /* avx512bw_vec_dupv32hi */

            case V32HImode:
              if (!nonimmediate_operand (operands[1], V32HImode)
                  || !(
#line 17508 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 545 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
                return -1;
              return 4143; /* avx512bw_vec_dupv32hi_1 */

            default:
              return -1;
            }

        case V16HImode:
          if (!register_operand (operands[0], V16HImode)
              || GET_MODE (x2) != V16HImode
              || GET_MODE (x3) != HImode)
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case V8HImode:
              if (!nonimmediate_operand (operands[1], V8HImode))
                return -1;
              if ((
#line 17289 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 288 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
                return 4093; /* avx2_pbroadcastv16hi */
              if (!(
#line 17544 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 4177; /* avx512vl_vec_dupv16hi */

            case V16HImode:
              if (!nonimmediate_operand (operands[1], V16HImode)
                  || !
#line 17303 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))
                return -1;
              return 4100; /* avx2_pbroadcastv16hi_1 */

            default:
              return -1;
            }

        case V8HImode:
          if (pattern435 (x2, V8HImode, HImode) != 0)
            return -1;
          if (
#line 17289 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))
            return 4094; /* avx2_pbroadcastv8hi */
          if (!(
#line 17544 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4179; /* avx512vl_vec_dupv8hi */

        case V8SImode:
          if (!register_operand (operands[0], V8SImode)
              || GET_MODE (x2) != V8SImode
              || GET_MODE (x3) != SImode)
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case V4SImode:
              if (!nonimmediate_operand (operands[1], V4SImode))
                return -1;
              if ((
#line 17289 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 289 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
                return 4095; /* avx2_pbroadcastv8si */
              if (!(
#line 17522 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 184 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 4147; /* avx512vl_vec_dupv8si */

            case V8SImode:
              if (!nonimmediate_operand (operands[1], V8SImode)
                  || !
#line 17303 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))
                return -1;
              return 4101; /* avx2_pbroadcastv8si_1 */

            default:
              return -1;
            }

        case V4SImode:
          if (pattern435 (x2, V4SImode, SImode) != 0)
            return -1;
          if (
#line 17289 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))
            return 4096; /* avx2_pbroadcastv4si */
          if (!(
#line 17522 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 184 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4149; /* avx512vl_vec_dupv4si */

        case V4DImode:
          if (!register_operand (operands[0], V4DImode)
              || GET_MODE (x2) != V4DImode
              || GET_MODE (x3) != DImode)
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case V2DImode:
              if (!nonimmediate_operand (operands[1], V2DImode))
                return -1;
              if ((
#line 17289 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 290 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
                return 4097; /* avx2_pbroadcastv4di */
              if (!(
#line 17522 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 185 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 4153; /* avx512vl_vec_dupv4di */

            case V4DImode:
              if (!nonimmediate_operand (operands[1], V4DImode)
                  || !
#line 17303 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))
                return -1;
              return 4102; /* avx2_pbroadcastv4di_1 */

            default:
              return -1;
            }

        case V2DImode:
          if (pattern435 (x2, V2DImode, DImode) != 0)
            return -1;
          if (
#line 17289 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))
            return 4098; /* avx2_pbroadcastv2di */
          if (!(
#line 17522 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 185 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4155; /* avx512vl_vec_dupv2di */

        case V4DFmode:
          if (!register_operand (operands[0], V4DFmode)
              || GET_MODE (x2) != V4DFmode
              || GET_MODE (x3) != DFmode)
            return -1;
          if (register_operand (operands[1], V2DFmode)
              && 
#line 17496 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))
            return 4140; /* avx2_vec_dupv4df */
          if (!nonimmediate_operand (operands[1], V2DFmode)
              || !(
#line 17522 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 187 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4165; /* avx512vl_vec_dupv4df */

        case V2DFmode:
          if (pattern435 (x2, V2DFmode, DFmode) != 0
              || !(
#line 17522 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 187 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4167; /* avx512vl_vec_dupv2df */

        default:
          return -1;
        }

    case 2:
      x6 = XVECEXP (x4, 0, 0);
      if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x7 = XVECEXP (x4, 0, 1);
      if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case V16SImode:
          if (pattern318 (x2, V4SImode, V2SImode, V16SImode) != 0
              || !
#line 17776 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ))
            return -1;
          return 4248; /* *avx512dq_broadcastv16si */

        case V8SImode:
          if (pattern318 (x2, V4SImode, V2SImode, V8SImode) != 0
              || !(
#line 17776 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 17760 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4250; /* *avx512dq_broadcastv8si */

        case V4SImode:
          if (pattern435 (x2, V4SImode, V2SImode) != 0
              || !(
#line 17776 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 17760 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4252; /* *avx512dq_broadcastv4si */

        case V16SFmode:
          if (pattern318 (x2, V4SFmode, V2SFmode, V16SFmode) != 0
              || !
#line 17776 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ))
            return -1;
          return 4254; /* *avx512dq_broadcastv16sf */

        case V8SFmode:
          if (pattern318 (x2, V4SFmode, V2SFmode, V8SFmode) != 0
              || !(
#line 17776 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 17761 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4256; /* *avx512dq_broadcastv8sf */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_161 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19, x20, x21, x22, x23, x24, x25;
  rtx x26, x27, x28, x29, x30, x31, x32, x33;
  rtx x34;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) != CONST_VECTOR
      || XVECLEN (x5, 0) != 32
      || pattern650 (x5, V32HImode) != 0)
    return -1;
  x6 = XVECEXP (x5, 0, 8);
  if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x7 = XVECEXP (x5, 0, 9);
  if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x8 = XVECEXP (x5, 0, 10);
  if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x9 = XVECEXP (x5, 0, 11);
  if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x10 = XVECEXP (x5, 0, 12);
  if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x11 = XVECEXP (x5, 0, 13);
  if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x12 = XVECEXP (x5, 0, 14);
  if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x13 = XVECEXP (x5, 0, 15);
  if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x14 = XVECEXP (x5, 0, 16);
  if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x15 = XVECEXP (x5, 0, 17);
  if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x16 = XVECEXP (x5, 0, 18);
  if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x17 = XVECEXP (x5, 0, 19);
  if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x18 = XVECEXP (x5, 0, 20);
  if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x19 = XVECEXP (x5, 0, 21);
  if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x20 = XVECEXP (x5, 0, 22);
  if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x21 = XVECEXP (x5, 0, 23);
  if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x22 = XVECEXP (x5, 0, 24);
  if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x23 = XVECEXP (x5, 0, 25);
  if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x24 = XVECEXP (x5, 0, 26);
  if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x25 = XVECEXP (x5, 0, 27);
  if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x26 = XVECEXP (x5, 0, 28);
  if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x27 = XVECEXP (x5, 0, 29);
  if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x28 = XVECEXP (x5, 0, 30);
  if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x29 = XVECEXP (x5, 0, 31);
  if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
      || !register_operand (operands[0], V32HImode)
      || GET_MODE (x2) != V32HImode
      || GET_MODE (x3) != V32SImode
      || GET_MODE (x4) != V32SImode)
    return -1;
  x30 = XEXP (x4, 0);
  if (GET_MODE (x30) != V32SImode)
    return -1;
  x31 = XEXP (x30, 0);
  if (GET_MODE (x31) != V32SImode)
    return -1;
  x32 = XEXP (x31, 0);
  if (GET_MODE (x32) != V32SImode)
    return -1;
  x33 = XEXP (x31, 1);
  if (GET_MODE (x33) != V32SImode)
    return -1;
  x34 = XEXP (x33, 0);
  operands[2] = x34;
  if (!nonimmediate_operand (operands[2], V32HImode)
      || !
#line 14552 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
    return -1;
  return 3733; /* avx512bw_umulhrswv32hi3 */
}

static int
recog_162 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
    case MEM:
      return recog_102 (x1, insn, pnum_clobbers);

    case PLUS:
      return recog_98 (x1, insn, pnum_clobbers);

    case MINUS:
      return recog_97 (x1, insn, pnum_clobbers);

    case MULT:
      return recog_103 (x1, insn, pnum_clobbers);

    case DIV:
      x5 = XEXP (x4, 0);
      operands[1] = x5;
      x6 = XEXP (x4, 1);
      operands[2] = x6;
      x7 = XEXP (x3, 2);
      switch (GET_CODE (x7))
        {
        case CONST_INT:
          switch (pattern79 (x3))
            {
            case 0:
              if (!
#line 1618 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE))
                return -1;
              return 1431; /* sse_vmdivv4sf3 */

            case 1:
              if (!(
#line 1618 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
                return -1;
              return 1435; /* sse2_vmdivv2df3 */

            default:
              return -1;
            }

        case REG:
        case SUBREG:
          operands[4] = x7;
          x8 = XEXP (x3, 1);
          operands[3] = x8;
          switch (GET_MODE (operands[0]))
            {
            case V16SFmode:
              if (pattern477 (x3, V16SFmode, HImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1659 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && (64 == 64 || TARGET_AVX512VL) && 1) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
                return -1;
              return 1439; /* avx512f_divv16sf3_mask */

            case V8SFmode:
              if (pattern477 (x3, V8SFmode, QImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1659 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && (32 == 64 || TARGET_AVX512VL) && 1) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
                return -1;
              return 1442; /* avx_divv8sf3_mask */

            case V4SFmode:
              if (pattern477 (x3, V4SFmode, QImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 1659 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && (16 == 64 || TARGET_AVX512VL) && 1)))
                return -1;
              return 1444; /* sse_divv4sf3_mask */

            case V8DFmode:
              if (pattern477 (x3, V8DFmode, QImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1659 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && (64 == 64 || TARGET_AVX512VL) && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
                return -1;
              return 1447; /* avx512f_divv8df3_mask */

            case V4DFmode:
              if (pattern477 (x3, V4DFmode, QImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1659 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && (32 == 64 || TARGET_AVX512VL) && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
                return -1;
              return 1450; /* avx_divv4df3_mask */

            case V2DFmode:
              if (pattern477 (x3, V2DFmode, QImode) != 0
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1659 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && (16 == 64 || TARGET_AVX512VL) && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))))
                return -1;
              return 1452; /* sse2_divv2df3_mask */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case UNSPEC:
      return recog_94 (x1, insn, pnum_clobbers);

    case SQRT:
      return recog_117 (x1, insn, pnum_clobbers);

    case SMAX:
      return recog_107 (x1, insn, pnum_clobbers);

    case SMIN:
      return recog_106 (x1, insn, pnum_clobbers);

    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:
      operands[3] = x4;
      x7 = XEXP (x3, 2);
      if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
        return -1;
      x5 = XEXP (x4, 0);
      operands[1] = x5;
      x6 = XEXP (x4, 1);
      operands[2] = x6;
      x8 = XEXP (x3, 1);
      if (!rtx_equal_p (x8, operands[1]))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case V4SFmode:
          if (pattern481 (x3, V4SFmode) != 0
              || !
#line 2560 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE))
            return -1;
          return 1637; /* sse_vmmaskcmpv4sf3 */

        case V2DFmode:
          if (pattern481 (x3, V2DFmode) != 0
              || !(
#line 2560 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
            return -1;
          return 1638; /* sse2_vmmaskcmpv2df3 */

        default:
          return -1;
        }

    case AND:
      return recog_100 (x1, insn, pnum_clobbers);

    case IOR:
      return recog_119 (x1, insn, pnum_clobbers);

    case XOR:
      switch (pattern81 (x3))
        {
        case 0:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 3138 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && TARGET_AVX512VL
   && ix86_binary_operator_ok (XOR, V8SFmode, operands)) && 
#line 230 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
            return -1;
          return 1746; /* *xorv8sf3_mask */

        case 1:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3138 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && TARGET_AVX512VL
   && ix86_binary_operator_ok (XOR, V4SFmode, operands))))
            return -1;
          return 1752; /* *xorv4sf3_mask */

        case 2:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 3138 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && TARGET_AVX512VL
   && ix86_binary_operator_ok (XOR, V4DFmode, operands)) && 
#line 231 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
            return -1;
          return 1758; /* *xorv4df3_mask */

        case 3:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 3138 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && TARGET_AVX512VL
   && ix86_binary_operator_ok (XOR, V2DFmode, operands)) && 
#line 231 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))))
            return -1;
          return 1764; /* *xorv2df3_mask */

        case 4:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3203 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (XOR, V16SFmode, operands))))
            return -1;
          return 1770; /* *xorv16sf3_mask */

        case 5:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3203 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (XOR, V8DFmode, operands))))
            return -1;
          return 1776; /* *xorv8df3_mask */

        case 6:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11656 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && (64 == 64 || TARGET_AVX512VL)
   && ix86_binary_operator_ok (XOR, V16SImode, operands)) && 
#line 425 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
            return -1;
          return 3419; /* xorv16si3_mask */

        case 7:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11656 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && (32 == 64 || TARGET_AVX512VL)
   && ix86_binary_operator_ok (XOR, V8SImode, operands)) && 
#line 425 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
            return -1;
          return 3425; /* xorv8si3_mask */

        case 8:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 11656 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && (16 == 64 || TARGET_AVX512VL)
   && ix86_binary_operator_ok (XOR, V4SImode, operands))))
            return -1;
          return 3431; /* xorv4si3_mask */

        case 9:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11656 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && (64 == 64 || TARGET_AVX512VL)
   && ix86_binary_operator_ok (XOR, V8DImode, operands)) && 
#line 426 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
            return -1;
          return 3437; /* xorv8di3_mask */

        case 10:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11656 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && (32 == 64 || TARGET_AVX512VL)
   && ix86_binary_operator_ok (XOR, V4DImode, operands)) && 
#line 426 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
            return -1;
          return 3443; /* xorv4di3_mask */

        case 11:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 11656 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && (16 == 64 || TARGET_AVX512VL)
   && ix86_binary_operator_ok (XOR, V2DImode, operands))))
            return -1;
          return 3449; /* xorv2di3_mask */

        case 12:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11754 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (XOR, V64QImode, operands)) && 
#line 429 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
            return -1;
          return 3455; /* *xorv64qi3 */

        case 13:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11754 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (XOR, V32QImode, operands)) && 
#line 429 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
            return -1;
          return 3461; /* *xorv32qi3 */

        case 14:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 11754 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (XOR, V16QImode, operands))))
            return -1;
          return 3467; /* *xorv16qi3 */

        case 15:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11754 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (XOR, V32HImode, operands)) && 
#line 430 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
            return -1;
          return 3473; /* *xorv32hi3 */

        case 16:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 11754 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (XOR, V16HImode, operands)) && 
#line 430 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
            return -1;
          return 3479; /* *xorv16hi3 */

        case 17:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 11754 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (XOR, V8HImode, operands))))
            return -1;
          return 3485; /* *xorv8hi3 */

        default:
          return -1;
        }

    case FMA:
      return recog_95 (x1, insn, pnum_clobbers);

    case VEC_DUPLICATE:
      return recog_93 (x1, insn, pnum_clobbers);

    case FLOAT:
      return recog_112 (x1, insn, pnum_clobbers);

    case UNSIGNED_FLOAT:
      return recog_114 (x1, insn, pnum_clobbers);

    case FIX:
      switch (pattern86 (x3))
        {
        case 0:
          if (!
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
            return -1;
          return 2173; /* fix_truncv16sfv16si2_mask */

        case 1:
          switch (GET_MODE (operands[1]))
            {
            case V8SFmode:
              if (!nonimmediate_operand (operands[1], V8SFmode)
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 4552 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && TARGET_AVX512VL)))
                return -1;
              return 2180; /* fix_truncv8sfv8si2_mask */

            case V8DFmode:
              if (!vector_operand (operands[1], V8DFmode)
                  || !
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                return -1;
              return 2292; /* fix_truncv8dfv8si2_mask */

            default:
              return -1;
            }

        case 2:
          switch (GET_MODE (operands[1]))
            {
            case V4SFmode:
              if (!vector_operand (operands[1], V4SFmode)
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 4561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && TARGET_AVX512VL)))
                return -1;
              return 2182; /* fix_truncv4sfv4si2_mask */

            case V4DFmode:
              if (!nonimmediate_operand (operands[1], V4DFmode)
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 5145 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX || (TARGET_AVX512VL && TARGET_AVX512F))))
                return -1;
              return 2301; /* fix_truncv4dfv4si2_mask */

            default:
              return -1;
            }

        case 3:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 5164 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1)))
            return -1;
          return 2306; /* fix_truncv8dfv8di2_mask */

        case 4:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 5196 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1)))
            return -1;
          return 2338; /* fix_truncv8sfv8di2_mask */

        case 5:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 5164 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1) && 
#line 279 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 2313; /* fix_truncv4dfv4di2_mask */

        case 6:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 5196 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1) && 
#line 242 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 2345; /* fix_truncv4sfv4di2_mask */

        case 7:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 5164 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1) && 
#line 279 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 2317; /* fix_truncv2dfv2di2_mask */

        case 8:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 5208 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && TARGET_AVX512VL)))
            return -1;
          return 2349; /* fix_truncv2sfv2di2_mask */

        default:
          return -1;
        }

    case UNSIGNED_FIX:
      switch (pattern86 (x3))
        {
        case 0:
          if (!
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
            return -1;
          return 2177; /* ufix_truncv16sfv16si2_mask */

        case 1:
          switch (GET_MODE (operands[1]))
            {
            case V8DFmode:
              if (!vector_operand (operands[1], V8DFmode)
                  || !
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                return -1;
              return 2296; /* ufix_truncv8dfv8si2_mask */

            case V8SFmode:
              if (!nonimmediate_operand (operands[1], V8SFmode)
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 5218 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 2353; /* ufix_truncv8sfv8si2_mask */

            default:
              return -1;
            }

        case 2:
          switch (GET_MODE (operands[1]))
            {
            case V4DFmode:
              if (!nonimmediate_operand (operands[1], V4DFmode)
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 5154 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL && TARGET_AVX512F)))
                return -1;
              return 2303; /* ufix_truncv4dfv4si2_mask */

            case V4SFmode:
              if (!nonimmediate_operand (operands[1], V4SFmode)
                  || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 5218 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 2355; /* ufix_truncv4sfv4si2_mask */

            default:
              return -1;
            }

        case 3:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 5164 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1)))
            return -1;
          return 2310; /* ufix_truncv8dfv8di2_mask */

        case 4:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 5196 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1)))
            return -1;
          return 2342; /* ufix_truncv8sfv8di2_mask */

        case 5:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 5164 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1) && 
#line 279 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 2315; /* ufix_truncv4dfv4di2_mask */

        case 6:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 5196 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1) && 
#line 242 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 2347; /* ufix_truncv4sfv4di2_mask */

        case 7:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 5164 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1) && 
#line 279 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 2319; /* ufix_truncv2dfv2di2_mask */

        case 8:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 5208 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && TARGET_AVX512VL)))
            return -1;
          return 2351; /* ufix_truncv2sfv2di2_mask */

        default:
          return -1;
        }

    case VEC_CONCAT:
      return recog_96 (x1, insn, pnum_clobbers);

    case FLOAT_EXTEND:
      return recog_113 (x1, insn, pnum_clobbers);

    case FLOAT_TRUNCATE:
      x5 = XEXP (x4, 0);
      operands[1] = x5;
      x8 = XEXP (x3, 1);
      operands[2] = x8;
      x7 = XEXP (x3, 2);
      operands[3] = x7;
      if (!register_operand (operands[3], QImode))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case V8SFmode:
          if (pattern420 (x3, V8SFmode, V8DFmode) != 0
              || !
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
            return -1;
          return 2366; /* avx512f_cvtpd2ps512_mask */

        case V4SFmode:
          if (!register_operand (operands[0], V4SFmode)
              || GET_MODE (x3) != V4SFmode
              || GET_MODE (x4) != V4SFmode
              || !nonimmediate_operand (operands[1], V4DFmode)
              || !vector_move_operand (operands[2], V4SFmode)
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 5352 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && TARGET_AVX512VL)))
            return -1;
          return 2369; /* avx_cvtpd2ps256_mask */

        default:
          return -1;
        }

    case CONST_VECTOR:
      return recog_111 (x1, insn, pnum_clobbers);

    case VEC_SELECT:
      return recog_109 (x1, insn, pnum_clobbers);

    case VEC_MERGE:
      return recog_108 (x1, insn, pnum_clobbers);

    case SS_TRUNCATE:
      switch (pattern88 (x3))
        {
        case 0:
          if (!
#line 9144 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2736; /* avx512f_ss_truncatev16siv16qi2_mask */

        case 1:
          if (!(
#line 9217 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 9195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 2769; /* avx512vl_ss_truncatev16hiv16qi2_mask */

        case 2:
          if (!
#line 9144 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2739; /* avx512f_ss_truncatev16siv16hi2_mask */

        case 3:
          if (!
#line 9144 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2742; /* avx512f_ss_truncatev8div8si2_mask */

        case 4:
          if (!
#line 9144 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2745; /* avx512f_ss_truncatev8div8hi2_mask */

        case 5:
          if (!
#line 9217 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2766; /* avx512vl_ss_truncatev8siv8hi2_mask */

        case 6:
          if (!
#line 9178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
            return -1;
          return 2751; /* avx512bw_ss_truncatev32hiv32qi2_mask */

        case 7:
          if (!
#line 9217 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2763; /* avx512vl_ss_truncatev4div4si2_mask */

        default:
          return -1;
        }

    case TRUNCATE:
      return recog_101 (x1, insn, pnum_clobbers);

    case US_TRUNCATE:
      switch (pattern88 (x3))
        {
        case 0:
          if (!
#line 9144 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2738; /* avx512f_us_truncatev16siv16qi2_mask */

        case 1:
          if (!(
#line 9217 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 9195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 2771; /* avx512vl_us_truncatev16hiv16qi2_mask */

        case 2:
          if (!
#line 9144 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2741; /* avx512f_us_truncatev16siv16hi2_mask */

        case 3:
          if (!
#line 9144 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2744; /* avx512f_us_truncatev8div8si2_mask */

        case 4:
          if (!
#line 9144 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2747; /* avx512f_us_truncatev8div8hi2_mask */

        case 5:
          if (!
#line 9217 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2768; /* avx512vl_us_truncatev8siv8hi2_mask */

        case 6:
          if (!
#line 9178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
            return -1;
          return 2753; /* avx512bw_us_truncatev32hiv32qi2_mask */

        case 7:
          if (!
#line 9217 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2765; /* avx512vl_us_truncatev4div4si2_mask */

        default:
          return -1;
        }

    case SS_PLUS:
      switch (pattern89 (x3))
        {
        case 0:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 9990 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
   && ix86_binary_operator_ok (SS_PLUS, V64QImode, operands)) && 
#line 382 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))))
            return -1;
          return 2995; /* *avx512bw_ssaddv64qi3_mask */

        case 1:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 9990 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
   && ix86_binary_operator_ok (SS_PLUS, V32QImode, operands)) && 
#line 382 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))))
            return -1;
          return 3003; /* *avx2_ssaddv32qi3_mask */

        case 2:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 9990 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
   && ix86_binary_operator_ok (SS_PLUS, V16QImode, operands))))
            return -1;
          return 3011; /* *sse2_ssaddv16qi3_mask */

        case 3:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 9990 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
   && ix86_binary_operator_ok (SS_PLUS, V32HImode, operands)) && 
#line 383 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))))
            return -1;
          return 3019; /* *avx512bw_ssaddv32hi3_mask */

        case 4:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 9990 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
   && ix86_binary_operator_ok (SS_PLUS, V16HImode, operands)) && 
#line 383 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))))
            return -1;
          return 3027; /* *avx2_ssaddv16hi3_mask */

        case 5:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 9990 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
   && ix86_binary_operator_ok (SS_PLUS, V8HImode, operands))))
            return -1;
          return 3035; /* *sse2_ssaddv8hi3_mask */

        default:
          return -1;
        }

    case US_PLUS:
      switch (pattern89 (x3))
        {
        case 0:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 9990 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
   && ix86_binary_operator_ok (US_PLUS, V64QImode, operands)) && 
#line 382 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))))
            return -1;
          return 2997; /* *avx512bw_usaddv64qi3_mask */

        case 1:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 9990 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
   && ix86_binary_operator_ok (US_PLUS, V32QImode, operands)) && 
#line 382 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))))
            return -1;
          return 3005; /* *avx2_usaddv32qi3_mask */

        case 2:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 9990 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
   && ix86_binary_operator_ok (US_PLUS, V16QImode, operands))))
            return -1;
          return 3013; /* *sse2_usaddv16qi3_mask */

        case 3:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 9990 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
   && ix86_binary_operator_ok (US_PLUS, V32HImode, operands)) && 
#line 383 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))))
            return -1;
          return 3021; /* *avx512bw_usaddv32hi3_mask */

        case 4:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 9990 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
   && ix86_binary_operator_ok (US_PLUS, V16HImode, operands)) && 
#line 383 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))))
            return -1;
          return 3029; /* *avx2_usaddv16hi3_mask */

        case 5:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 9990 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
   && ix86_binary_operator_ok (US_PLUS, V8HImode, operands))))
            return -1;
          return 3037; /* *sse2_usaddv8hi3_mask */

        default:
          return -1;
        }

    case SS_MINUS:
      switch (pattern89 (x3))
        {
        case 0:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 9990 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
   && ix86_binary_operator_ok (SS_MINUS, V64QImode, operands)) && 
#line 382 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))))
            return -1;
          return 2999; /* *avx512bw_sssubv64qi3_mask */

        case 1:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 9990 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
   && ix86_binary_operator_ok (SS_MINUS, V32QImode, operands)) && 
#line 382 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))))
            return -1;
          return 3007; /* *avx2_sssubv32qi3_mask */

        case 2:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 9990 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
   && ix86_binary_operator_ok (SS_MINUS, V16QImode, operands))))
            return -1;
          return 3015; /* *sse2_sssubv16qi3_mask */

        case 3:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 9990 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
   && ix86_binary_operator_ok (SS_MINUS, V32HImode, operands)) && 
#line 383 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))))
            return -1;
          return 3023; /* *avx512bw_sssubv32hi3_mask */

        case 4:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 9990 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
   && ix86_binary_operator_ok (SS_MINUS, V16HImode, operands)) && 
#line 383 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))))
            return -1;
          return 3031; /* *avx2_sssubv16hi3_mask */

        case 5:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 9990 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
   && ix86_binary_operator_ok (SS_MINUS, V8HImode, operands))))
            return -1;
          return 3039; /* *sse2_sssubv8hi3_mask */

        default:
          return -1;
        }

    case US_MINUS:
      switch (pattern89 (x3))
        {
        case 0:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 9990 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
   && ix86_binary_operator_ok (US_MINUS, V64QImode, operands)) && 
#line 382 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))))
            return -1;
          return 3001; /* *avx512bw_ussubv64qi3_mask */

        case 1:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 9990 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
   && ix86_binary_operator_ok (US_MINUS, V32QImode, operands)) && 
#line 382 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))))
            return -1;
          return 3009; /* *avx2_ussubv32qi3_mask */

        case 2:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 9990 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
   && ix86_binary_operator_ok (US_MINUS, V16QImode, operands))))
            return -1;
          return 3017; /* *sse2_ussubv16qi3_mask */

        case 3:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 9990 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
   && ix86_binary_operator_ok (US_MINUS, V32HImode, operands)) && 
#line 383 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))))
            return -1;
          return 3025; /* *avx512bw_ussubv32hi3_mask */

        case 4:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 9990 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
   && ix86_binary_operator_ok (US_MINUS, V16HImode, operands)) && 
#line 383 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))))
            return -1;
          return 3033; /* *avx2_ussubv16hi3_mask */

        case 5:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 9990 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
   && ix86_binary_operator_ok (US_MINUS, V8HImode, operands))))
            return -1;
          return 3041; /* *sse2_ussubv8hi3_mask */

        default:
          return -1;
        }

    case ASHIFTRT:
      return recog_99 (x1, insn, pnum_clobbers);

    case ASHIFT:
      return recog_104 (x1, insn, pnum_clobbers);

    case LSHIFTRT:
      return recog_105 (x1, insn, pnum_clobbers);

    case ROTATE:
      switch (pattern93 (x3))
        {
        case 0:
          if (!
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
            return -1;
          return 3157; /* avx512f_rolvv16si_mask */

        case 1:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10826 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 3161; /* avx512vl_rolvv8si_mask */

        case 2:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10826 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 3165; /* avx512vl_rolvv4si_mask */

        case 3:
          if (!
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
            return -1;
          return 3169; /* avx512f_rolvv8di_mask */

        case 4:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10826 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 3173; /* avx512vl_rolvv4di_mask */

        case 5:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10826 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 3177; /* avx512vl_rolvv2di_mask */

        case 6:
          if (!
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
            return -1;
          return 3181; /* avx512f_rolv16si_mask */

        case 7:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10836 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 3185; /* avx512vl_rolv8si_mask */

        case 8:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10836 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 3189; /* avx512vl_rolv4si_mask */

        case 9:
          if (!
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
            return -1;
          return 3193; /* avx512f_rolv8di_mask */

        case 10:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10836 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 3197; /* avx512vl_rolv4di_mask */

        case 11:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10836 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 3201; /* avx512vl_rolv2di_mask */

        default:
          return -1;
        }

    case ROTATERT:
      switch (pattern93 (x3))
        {
        case 0:
          if (!
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
            return -1;
          return 3159; /* avx512f_rorvv16si_mask */

        case 1:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10826 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 3163; /* avx512vl_rorvv8si_mask */

        case 2:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10826 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 3167; /* avx512vl_rorvv4si_mask */

        case 3:
          if (!
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
            return -1;
          return 3171; /* avx512f_rorvv8di_mask */

        case 4:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10826 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 3175; /* avx512vl_rorvv4di_mask */

        case 5:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10826 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 3179; /* avx512vl_rorvv2di_mask */

        case 6:
          if (!
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
            return -1;
          return 3183; /* avx512f_rorv16si_mask */

        case 7:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10836 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 3187; /* avx512vl_rorv8si_mask */

        case 8:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10836 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 3191; /* avx512vl_rorv4si_mask */

        case 9:
          if (!
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
            return -1;
          return 3195; /* avx512f_rorv8di_mask */

        case 10:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10836 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 3199; /* avx512vl_rorv4di_mask */

        case 11:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 10836 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 3203; /* avx512vl_rorv2di_mask */

        default:
          return -1;
        }

    case UMAX:
      return recog_115 (x1, insn, pnum_clobbers);

    case UMIN:
      return recog_116 (x1, insn, pnum_clobbers);

    case ABS:
      return recog_110 (x1, insn, pnum_clobbers);

    case SIGN_EXTEND:
      return recog_118 (x1, insn, pnum_clobbers);

    case ZERO_EXTEND:
      switch (pattern98 (x3))
        {
        case 0:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 15235 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && TARGET_AVX512BW && TARGET_AVX512VL)))
            return -1;
          return 3835; /* avx2_zero_extendv16qiv16hi2_mask */

        case 1:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 15246 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 3839; /* avx512bw_zero_extendv32qiv32hi2_mask */

        case 2:
          if (!
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
            return -1;
          return 3847; /* avx512f_zero_extendv16qiv16si2_mask */

        case 3:
          if (!
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
            return -1;
          return 3859; /* avx512f_zero_extendv16hiv16si2_mask */

        case 4:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 15325 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && TARGET_AVX512VL)))
            return -1;
          return 3863; /* avx2_zero_extendv8hiv8si2_mask */

        case 5:
          if (!
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
            return -1;
          return 3883; /* avx512f_zero_extendv8hiv8di2_mask */

        case 6:
          if (!
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
            return -1;
          return 3895; /* avx512f_zero_extendv8siv8di2_mask */

        case 7:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 15442 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && TARGET_AVX512VL)))
            return -1;
          return 3899; /* avx2_zero_extendv4siv4di2_mask */

        case 8:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 15262 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1 && TARGET_AVX512BW && TARGET_AVX512VL)))
            return -1;
          return 3843; /* sse4_1_zero_extendv8qiv8hi2_mask */

        case 9:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 15289 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && TARGET_AVX512VL)))
            return -1;
          return 3851; /* avx2_zero_extendv8qiv8si2_mask */

        case 10:
          if (!
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
            return -1;
          return 3871; /* avx512f_zero_extendv8qiv8di2_mask */

        case 11:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 15303 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1 && TARGET_AVX512VL)))
            return -1;
          return 3855; /* sse4_1_zero_extendv4qiv4si2_mask */

        case 12:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 15339 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1 && TARGET_AVX512VL)))
            return -1;
          return 3867; /* sse4_1_zero_extendv4hiv4si2_mask */

        case 13:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 15369 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && TARGET_AVX512VL)))
            return -1;
          return 3875; /* avx2_zero_extendv4qiv4di2_mask */

        case 14:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 15407 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && TARGET_AVX512VL)))
            return -1;
          return 3887; /* avx2_zero_extendv4hiv4di2_mask */

        case 15:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 15382 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1 && TARGET_AVX512VL)))
            return -1;
          return 3879; /* sse4_1_zero_extendv2qiv2di2_mask */

        case 16:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 15420 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1 && TARGET_AVX512VL)))
            return -1;
          return 3891; /* sse4_1_zero_extendv2hiv2di2_mask */

        case 17:
          if (!(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 15455 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1 && TARGET_AVX512VL)))
            return -1;
          return 3903; /* sse4_1_zero_extendv2siv2di2_mask */

        default:
          return -1;
        }

    case CLZ:
      x5 = XEXP (x4, 0);
      operands[1] = x5;
      x8 = XEXP (x3, 1);
      operands[2] = x8;
      x7 = XEXP (x3, 2);
      operands[3] = x7;
      switch (GET_MODE (operands[0]))
        {
        case V16SImode:
          if (pattern373 (x3, V16SImode, HImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 19519 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512CD)))
            return -1;
          return 4870; /* clzv16si2_mask */

        case V8SImode:
          if (pattern373 (x3, V8SImode, QImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 19519 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512CD) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 4872; /* clzv8si2_mask */

        case V4SImode:
          if (pattern373 (x3, V4SImode, QImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 19519 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512CD) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 4874; /* clzv4si2_mask */

        case V8DImode:
          if (pattern373 (x3, V8DImode, QImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 19519 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512CD)))
            return -1;
          return 4876; /* clzv8di2_mask */

        case V4DImode:
          if (pattern373 (x3, V4DImode, QImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 19519 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512CD) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 4878; /* clzv4di2_mask */

        case V2DImode:
          if (pattern373 (x3, V2DImode, QImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 19519 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512CD) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 4880; /* clzv2di2_mask */

        default:
          return -1;
        }

    case POPCOUNT:
      x5 = XEXP (x4, 0);
      operands[1] = x5;
      x8 = XEXP (x3, 1);
      operands[2] = x8;
      x7 = XEXP (x3, 2);
      operands[3] = x7;
      switch (GET_MODE (operands[0]))
        {
        case V16SImode:
          if (pattern373 (x3, V16SImode, HImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 20016 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VPOPCNTDQ)))
            return -1;
          return 4951; /* vpopcountv16si_mask */

        case V8DImode:
          if (pattern373 (x3, V8DImode, QImode) != 0
              || !(
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 20016 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VPOPCNTDQ)))
            return -1;
          return 4953; /* vpopcountv8di_mask */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_163 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19, x20, x21, x22, x23, x24, x25;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case VEC_SELECT:
      return recog_123 (x1, insn, pnum_clobbers);

    case VEC_CONCAT:
      return recog_122 (x1, insn, pnum_clobbers);

    case PLUS:
      if (GET_MODE (x4) != DFmode)
        return -1;
      x5 = XEXP (x4, 0);
      if (GET_CODE (x5) != VEC_SELECT
          || GET_MODE (x5) != DFmode)
        return -1;
      x6 = XEXP (x5, 1);
      if (GET_CODE (x6) != PARALLEL
          || XVECLEN (x6, 0) != 1)
        return -1;
      x7 = XEXP (x4, 1);
      if (GET_CODE (x7) != VEC_SELECT
          || GET_MODE (x7) != DFmode)
        return -1;
      x8 = XEXP (x7, 1);
      if (GET_CODE (x8) != PARALLEL
          || XVECLEN (x8, 0) != 1)
        return -1;
      x9 = XEXP (x3, 1);
      if (pattern384 (x9, DFmode, VEC_SELECT) != 0)
        return -1;
      x10 = XEXP (x9, 0);
      x11 = XEXP (x10, 1);
      if (GET_CODE (x11) != PARALLEL
          || XVECLEN (x11, 0) != 1)
        return -1;
      x12 = XEXP (x9, 1);
      if (GET_CODE (x12) != VEC_SELECT
          || GET_MODE (x12) != DFmode)
        return -1;
      x13 = XEXP (x12, 1);
      if (GET_CODE (x13) != PARALLEL
          || XVECLEN (x13, 0) != 1
          || !register_operand (operands[0], V2DFmode)
          || GET_MODE (x3) != V2DFmode)
        return -1;
      x14 = XEXP (x5, 0);
      operands[1] = x14;
      if (!register_operand (operands[1], V2DFmode))
        return -1;
      x15 = XVECEXP (x6, 0, 0);
      operands[3] = x15;
      if (!const_0_to_1_operand (operands[3], SImode))
        return -1;
      x16 = XVECEXP (x8, 0, 0);
      operands[4] = x16;
      if (!const_0_to_1_operand (operands[4], SImode))
        return -1;
      x17 = XEXP (x10, 0);
      operands[2] = x17;
      if (!vector_operand (operands[2], V2DFmode))
        return -1;
      x18 = XVECEXP (x11, 0, 0);
      operands[5] = x18;
      if (!const_0_to_1_operand (operands[5], SImode))
        return -1;
      x19 = XVECEXP (x13, 0, 0);
      operands[6] = x19;
      if (!const_0_to_1_operand (operands[6], SImode))
        return -1;
      x20 = XEXP (x7, 0);
      if (!rtx_equal_p (x20, operands[1]))
        return -1;
      x21 = XEXP (x12, 0);
      if (!rtx_equal_p (x21, operands[2])
          || !
#line 2171 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE3
   && INTVAL (operands[3]) != INTVAL (operands[4])
   && INTVAL (operands[5]) != INTVAL (operands[6])))
        return -1;
      return 1601; /* *sse3_haddv2df3 */

    case MINUS:
      if (GET_MODE (x4) != DFmode)
        return -1;
      x5 = XEXP (x4, 0);
      if (GET_CODE (x5) != VEC_SELECT
          || pattern226 (x5, DFmode) != 0)
        return -1;
      x7 = XEXP (x4, 1);
      if (GET_CODE (x7) != VEC_SELECT
          || GET_MODE (x7) != DFmode)
        return -1;
      x8 = XEXP (x7, 1);
      if (GET_CODE (x8) != PARALLEL
          || XVECLEN (x8, 0) != 1)
        return -1;
      x16 = XVECEXP (x8, 0, 0);
      if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
        return -1;
      x9 = XEXP (x3, 1);
      if (GET_CODE (x9) != MINUS
          || GET_MODE (x9) != DFmode)
        return -1;
      x10 = XEXP (x9, 0);
      if (pattern514 (x10, DFmode) != 0)
        return -1;
      x12 = XEXP (x9, 1);
      if (GET_CODE (x12) != VEC_SELECT
          || GET_MODE (x12) != DFmode)
        return -1;
      x13 = XEXP (x12, 1);
      if (GET_CODE (x13) != PARALLEL
          || XVECLEN (x13, 0) != 1)
        return -1;
      x19 = XVECEXP (x13, 0, 0);
      if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
          || !register_operand (operands[0], V2DFmode)
          || GET_MODE (x3) != V2DFmode)
        return -1;
      x14 = XEXP (x5, 0);
      operands[1] = x14;
      if (!register_operand (operands[1], V2DFmode))
        return -1;
      x17 = XEXP (x10, 0);
      operands[2] = x17;
      if (!vector_operand (operands[2], V2DFmode))
        return -1;
      x20 = XEXP (x7, 0);
      if (!rtx_equal_p (x20, operands[1]))
        return -1;
      x21 = XEXP (x12, 0);
      if (!rtx_equal_p (x21, operands[2])
          || !
#line 2195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE3))
        return -1;
      return 1602; /* sse3_hsubv2df3 */

    case FLOAT:
      if (pattern100 (x3, V2DImode, V4SFmode, V2SFmode) != 0
          || !
#line 4929 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && TARGET_AVX512VL))
        return -1;
      return 2255; /* *floatv2div2sf2 */

    case UNSIGNED_FLOAT:
      if (pattern100 (x3, V2DImode, V4SFmode, V2SFmode) != 0
          || !
#line 4929 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && TARGET_AVX512VL))
        return -1;
      return 2256; /* *ufloatv2div2sf2 */

    case VEC_MERGE:
      return recog_121 (x1, insn, pnum_clobbers);

    case UNSPEC:
      switch (XVECLEN (x4, 0))
        {
        case 1:
          x22 = XVECEXP (x4, 0, 0);
          operands[1] = x22;
          switch (XINT (x4, 1))
            {
            case 42:
              if (GET_MODE (x4) == V4SImode
                  && register_operand (operands[0], V8SImode)
                  && GET_MODE (x3) == V8SImode
                  && nonimmediate_operand (operands[1], V4DFmode))
                {
                  x9 = XEXP (x3, 1);
                  operands[2] = x9;
                  if (const0_operand (operands[2], V4SImode)
                      && 
#line 5064 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
                    return 2277; /* *avx_cvtpd2dq256_2 */
                }
              if (GET_MODE (x4) != V2SImode)
                return -1;
              x9 = XEXP (x3, 1);
              if (GET_CODE (x9) != CONST_VECTOR
                  || XVECLEN (x9, 0) != 2
                  || GET_MODE (x9) != V2SImode)
                return -1;
              x23 = XVECEXP (x9, 0, 0);
              if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                return -1;
              x24 = XVECEXP (x9, 0, 1);
              if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
                  || !register_operand (operands[0], V4SImode)
                  || GET_MODE (x3) != V4SImode
                  || !vector_operand (operands[1], V2DFmode)
                  || !
#line 5077 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1))
                return -1;
              return 2278; /* sse2_cvtpd2dq */

            case 151:
              if (GET_MODE (x4) != V2SImode)
                return -1;
              x9 = XEXP (x3, 1);
              if (GET_CODE (x9) != CONST_VECTOR
                  || XVECLEN (x9, 0) != 2
                  || GET_MODE (x9) != V2SImode)
                return -1;
              x23 = XVECEXP (x9, 0, 0);
              if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                return -1;
              x24 = XVECEXP (x9, 0, 1);
              if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
                  || !register_operand (operands[0], V4SImode)
                  || GET_MODE (x3) != V4SImode
                  || !nonimmediate_operand (operands[1], V2DFmode)
                  || !
#line 5115 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
                return -1;
              return 2288; /* ufix_notruncv2dfv2si2 */

            default:
              return -1;
            }

        case 2:
          if (XINT (x4, 1) != 143
              || GET_MODE (x4) != V4HImode
              || !register_operand (operands[0], V8HImode)
              || GET_MODE (x3) != V8HImode)
            return -1;
          x22 = XVECEXP (x4, 0, 0);
          operands[1] = x22;
          if (!register_operand (operands[1], V4SFmode))
            return -1;
          x25 = XVECEXP (x4, 0, 1);
          operands[2] = x25;
          if (!const_0_to_255_operand (operands[2], SImode))
            return -1;
          x9 = XEXP (x3, 1);
          operands[3] = x9;
          if (!const0_operand (operands[3], V4HImode)
              || !
#line 18922 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
((TARGET_F16C || TARGET_AVX512VL) && 1))
            return -1;
          return 4542; /* *vcvtps2ph */

        default:
          return -1;
        }

    case UNSIGNED_FIX:
      if (pattern100 (x3, V2DFmode, V4SImode, V2SImode) != 0
          || !
#line 5136 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
        return -1;
      return 2298; /* ufix_truncv2dfv2si2 */

    case FIX:
      if (GET_MODE (x4) != V2SImode)
        return -1;
      x9 = XEXP (x3, 1);
      if (GET_CODE (x9) != CONST_VECTOR
          || XVECLEN (x9, 0) != 2
          || GET_MODE (x9) != V2SImode)
        return -1;
      x23 = XVECEXP (x9, 0, 0);
      if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x24 = XVECEXP (x9, 0, 1);
      if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
          || !register_operand (operands[0], V4SImode)
          || GET_MODE (x3) != V4SImode)
        return -1;
      x5 = XEXP (x4, 0);
      operands[1] = x5;
      if (!vector_operand (operands[1], V2DFmode)
          || !
#line 5237 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1))
        return -1;
      return 2356; /* sse2_cvttpd2dq */

    case FLOAT_TRUNCATE:
      if (GET_MODE (x4) != V2SFmode
          || !register_operand (operands[0], V4SFmode)
          || GET_MODE (x3) != V4SFmode)
        return -1;
      x5 = XEXP (x4, 0);
      operands[1] = x5;
      if (!vector_operand (operands[1], V2DFmode))
        return -1;
      x9 = XEXP (x3, 1);
      operands[2] = x9;
      if (!const0_operand (operands[2], V2SFmode)
          || !
#line 5386 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1))
        return -1;
      return 2370; /* *sse2_cvtpd2ps */

    case REG:
    case SUBREG:
    case MEM:
      return recog_120 (x1, insn, pnum_clobbers);

    case SS_TRUNCATE:
      x5 = XEXP (x4, 0);
      operands[1] = x5;
      x9 = XEXP (x3, 1);
      switch (GET_CODE (x9))
        {
        case CONST_INT:
        case CONST_DOUBLE:
        case CONST_VECTOR:
          operands[2] = x9;
          switch (pattern316 (x3))
            {
            case 0:
              if (
#line 9247 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
                return 2772; /* *avx512vl_ss_truncatev4div4qi2 */
              break;

            case 1:
              if (
#line 9247 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
                return 2781; /* *avx512vl_ss_truncatev4siv4qi2 */
              break;

            case 2:
              if (
#line 9247 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
                return 2775; /* *avx512vl_ss_truncatev2div2qi2 */
              break;

            case 3:
              if (
#line 9247 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
                return 2778; /* *avx512vl_ss_truncatev8siv8qi2 */
              break;

            case 4:
              if ((
#line 9247 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 9233 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
                return 2784; /* *avx512vl_ss_truncatev8hiv8qi2 */
              break;

            case 5:
              if (
#line 9547 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
                return 2847; /* *avx512vl_ss_truncatev4div4hi2 */
              break;

            case 6:
              if (
#line 9547 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
                return 2853; /* *avx512vl_ss_truncatev4siv4hi2 */
              break;

            case 7:
              if (
#line 9547 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
                return 2850; /* *avx512vl_ss_truncatev2div2hi2 */
              break;

            case 8:
              if (
#line 9712 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
                return 2892; /* *avx512vl_ss_truncatev2div2si2 */
              break;

            default:
              break;
            }
          if (GET_CODE (x9) != CONST_VECTOR
              || pattern317 (x3) != 0
              || !
#line 9794 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2907; /* *avx512f_ss_truncatev8div16qi2 */

        case VEC_SELECT:
          switch (pattern238 (x3))
            {
            case 0:
              if (!
#line 9267 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
                return -1;
              return 2787; /* *avx512vl_ss_truncatev2div2qi2_store */

            case 1:
              if (!
#line 9357 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
                return -1;
              return 2799; /* *avx512vl_ss_truncatev4siv4qi2_store */

            case 2:
              if (!
#line 9357 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
                return -1;
              return 2802; /* *avx512vl_ss_truncatev4div4qi2_store */

            case 3:
              if (!(
#line 9452 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 9439 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
                return -1;
              return 2823; /* *avx512vl_ss_truncatev8hiv8qi2_store */

            case 4:
              if (!
#line 9452 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
                return -1;
              return 2826; /* *avx512vl_ss_truncatev8siv8qi2_store */

            case 5:
              if (!
#line 9811 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return -1;
              return 2910; /* *avx512f_ss_truncatev8div16qi2_store */

            case 6:
              if (!
#line 9562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
                return -1;
              return 2856; /* *avx512vl_ss_truncatev4siv4hi2_store */

            case 7:
              if (!
#line 9562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
                return -1;
              return 2859; /* *avx512vl_ss_truncatev4div4hi2_store */

            case 8:
              if (!
#line 9641 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
                return -1;
              return 2880; /* *avx512vl_ss_truncatev2div2hi2_store */

            case 9:
              if (!
#line 9726 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
                return -1;
              return 2895; /* *avx512vl_ss_truncatev2div2si2_store */

            default:
              return -1;
            }

        case SS_TRUNCATE:
          switch (pattern240 (x3))
            {
            case 0:
              if (!(
#line 11929 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1) && 
#line 326 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
                return -1;
              return 3534; /* avx512bw_packsswb */

            case 1:
              if (!(
#line 11929 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1) && 
#line 326 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
                return -1;
              return 3536; /* avx2_packsswb */

            case 2:
              if (!
#line 11929 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1))
                return -1;
              return 3538; /* sse2_packsswb */

            case 3:
              if (!(
#line 11947 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1) && 
#line 329 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
                return -1;
              return 3540; /* avx512bw_packssdw */

            case 4:
              if (!(
#line 11947 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1) && 
#line 329 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
                return -1;
              return 3542; /* avx2_packssdw */

            case 5:
              if (!
#line 11947 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1))
                return -1;
              return 3544; /* sse2_packssdw */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case TRUNCATE:
      x5 = XEXP (x4, 0);
      operands[1] = x5;
      x9 = XEXP (x3, 1);
      switch (GET_CODE (x9))
        {
        case CONST_INT:
        case CONST_DOUBLE:
        case CONST_VECTOR:
          operands[2] = x9;
          switch (pattern316 (x3))
            {
            case 0:
              if (
#line 9247 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
                return 2773; /* *avx512vl_truncatev4div4qi2 */
              break;

            case 1:
              if (
#line 9247 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
                return 2782; /* *avx512vl_truncatev4siv4qi2 */
              break;

            case 2:
              if (
#line 9247 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
                return 2776; /* *avx512vl_truncatev2div2qi2 */
              break;

            case 3:
              if (
#line 9247 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
                return 2779; /* *avx512vl_truncatev8siv8qi2 */
              break;

            case 4:
              if ((
#line 9247 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 9233 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
                return 2785; /* *avx512vl_truncatev8hiv8qi2 */
              break;

            case 5:
              if (
#line 9547 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
                return 2848; /* *avx512vl_truncatev4div4hi2 */
              break;

            case 6:
              if (
#line 9547 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
                return 2854; /* *avx512vl_truncatev4siv4hi2 */
              break;

            case 7:
              if (
#line 9547 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
                return 2851; /* *avx512vl_truncatev2div2hi2 */
              break;

            case 8:
              if (
#line 9712 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
                return 2893; /* *avx512vl_truncatev2div2si2 */
              break;

            default:
              break;
            }
          if (GET_CODE (x9) != CONST_VECTOR
              || pattern317 (x3) != 0
              || !
#line 9794 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2908; /* *avx512f_truncatev8div16qi2 */

        case VEC_SELECT:
          switch (pattern238 (x3))
            {
            case 0:
              if (!
#line 9267 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
                return -1;
              return 2788; /* *avx512vl_truncatev2div2qi2_store */

            case 1:
              if (!
#line 9357 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
                return -1;
              return 2800; /* *avx512vl_truncatev4siv4qi2_store */

            case 2:
              if (!
#line 9357 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
                return -1;
              return 2803; /* *avx512vl_truncatev4div4qi2_store */

            case 3:
              if (!(
#line 9452 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 9439 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
                return -1;
              return 2824; /* *avx512vl_truncatev8hiv8qi2_store */

            case 4:
              if (!
#line 9452 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
                return -1;
              return 2827; /* *avx512vl_truncatev8siv8qi2_store */

            case 5:
              if (!
#line 9811 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return -1;
              return 2911; /* *avx512f_truncatev8div16qi2_store */

            case 6:
              if (!
#line 9562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
                return -1;
              return 2857; /* *avx512vl_truncatev4siv4hi2_store */

            case 7:
              if (!
#line 9562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
                return -1;
              return 2860; /* *avx512vl_truncatev4div4hi2_store */

            case 8:
              if (!
#line 9641 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
                return -1;
              return 2881; /* *avx512vl_truncatev2div2hi2_store */

            case 9:
              if (!
#line 9726 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
                return -1;
              return 2896; /* *avx512vl_truncatev2div2si2_store */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case US_TRUNCATE:
      x5 = XEXP (x4, 0);
      operands[1] = x5;
      x9 = XEXP (x3, 1);
      switch (GET_CODE (x9))
        {
        case CONST_INT:
        case CONST_DOUBLE:
        case CONST_VECTOR:
          operands[2] = x9;
          switch (pattern316 (x3))
            {
            case 0:
              if (
#line 9247 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
                return 2774; /* *avx512vl_us_truncatev4div4qi2 */
              break;

            case 1:
              if (
#line 9247 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
                return 2783; /* *avx512vl_us_truncatev4siv4qi2 */
              break;

            case 2:
              if (
#line 9247 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
                return 2777; /* *avx512vl_us_truncatev2div2qi2 */
              break;

            case 3:
              if (
#line 9247 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
                return 2780; /* *avx512vl_us_truncatev8siv8qi2 */
              break;

            case 4:
              if ((
#line 9247 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 9233 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
                return 2786; /* *avx512vl_us_truncatev8hiv8qi2 */
              break;

            case 5:
              if (
#line 9547 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
                return 2849; /* *avx512vl_us_truncatev4div4hi2 */
              break;

            case 6:
              if (
#line 9547 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
                return 2855; /* *avx512vl_us_truncatev4siv4hi2 */
              break;

            case 7:
              if (
#line 9547 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
                return 2852; /* *avx512vl_us_truncatev2div2hi2 */
              break;

            case 8:
              if (
#line 9712 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
                return 2894; /* *avx512vl_us_truncatev2div2si2 */
              break;

            default:
              break;
            }
          if (GET_CODE (x9) != CONST_VECTOR
              || pattern317 (x3) != 0
              || !
#line 9794 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2909; /* *avx512f_us_truncatev8div16qi2 */

        case VEC_SELECT:
          switch (pattern238 (x3))
            {
            case 0:
              if (!
#line 9267 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
                return -1;
              return 2789; /* *avx512vl_us_truncatev2div2qi2_store */

            case 1:
              if (!
#line 9357 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
                return -1;
              return 2801; /* *avx512vl_us_truncatev4siv4qi2_store */

            case 2:
              if (!
#line 9357 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
                return -1;
              return 2804; /* *avx512vl_us_truncatev4div4qi2_store */

            case 3:
              if (!(
#line 9452 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 9439 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
                return -1;
              return 2825; /* *avx512vl_us_truncatev8hiv8qi2_store */

            case 4:
              if (!
#line 9452 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
                return -1;
              return 2828; /* *avx512vl_us_truncatev8siv8qi2_store */

            case 5:
              if (!
#line 9811 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return -1;
              return 2912; /* *avx512f_us_truncatev8div16qi2_store */

            case 6:
              if (!
#line 9562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
                return -1;
              return 2858; /* *avx512vl_us_truncatev4siv4hi2_store */

            case 7:
              if (!
#line 9562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
                return -1;
              return 2861; /* *avx512vl_us_truncatev4div4hi2_store */

            case 8:
              if (!
#line 9641 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
                return -1;
              return 2882; /* *avx512vl_us_truncatev2div2hi2_store */

            case 9:
              if (!
#line 9726 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
                return -1;
              return 2897; /* *avx512vl_us_truncatev2div2si2_store */

            default:
              return -1;
            }

        case US_TRUNCATE:
          switch (pattern240 (x3))
            {
            case 0:
              if (!(
#line 11965 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1) && 
#line 326 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
                return -1;
              return 3546; /* avx512bw_packuswb */

            case 1:
              if (!(
#line 11965 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1) && 
#line 326 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
                return -1;
              return 3548; /* avx2_packuswb */

            case 2:
              if (!
#line 11965 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1))
                return -1;
              return 3550; /* sse2_packuswb */

            case 3:
              if (!(
#line 15125 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1 && 1 && 1) && 
#line 329 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
                return -1;
              return 3819; /* avx512bw_packusdw */

            case 4:
              if (!(
#line 15125 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1 && 1 && 1) && 
#line 329 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
                return -1;
              return 3821; /* avx2_packusdw */

            case 5:
              if (!
#line 15125 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1 && 1 && 1))
                return -1;
              return 3823; /* sse4_1_packusdw */

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_164 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 1);
  operands[2] = x4;
  x5 = XEXP (x3, 0);
  switch (GET_CODE (x5))
    {
    case REG:
    case SUBREG:
    case MEM:
      operands[1] = x5;
      x6 = XEXP (x3, 2);
      switch (GET_CODE (x6))
        {
        case REG:
        case SUBREG:
        case MEM:
          operands[3] = x6;
          switch (GET_MODE (operands[0]))
            {
            case V4SFmode:
              if (!register_operand (operands[0], V4SFmode)
                  || GET_MODE (x3) != V4SFmode)
                return -1;
              if (nonimmediate_operand (operands[1], V4SFmode)
                  && nonimmediate_operand (operands[2], V4SFmode)
                  && nonimmediate_operand (operands[3], V4SFmode)
                  && 
#line 3603 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
                return 1791; /* *fma_fmadd_v4sf */
              if (!vector_operand (operands[1], V4SFmode)
                  || !vector_operand (operands[2], V4SFmode)
                  || !vector_operand (operands[3], V4SFmode)
                  || !(
#line 3625 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && 1) && 
#line 3616 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 1802; /* *fma_fmadd_v4sf */

            case V2DFmode:
              if (!register_operand (operands[0], V2DFmode)
                  || GET_MODE (x3) != V2DFmode)
                return -1;
              if (nonimmediate_operand (operands[1], V2DFmode)
                  && nonimmediate_operand (operands[2], V2DFmode)
                  && nonimmediate_operand (operands[3], V2DFmode)
                  && 
#line 3603 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
                return 1792; /* *fma_fmadd_v2df */
              if (!vector_operand (operands[1], V2DFmode)
                  || !vector_operand (operands[2], V2DFmode)
                  || !vector_operand (operands[3], V2DFmode)
                  || !(
#line 3625 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && 1) && 
#line 3617 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 1811; /* *fma_fmadd_v2df */

            case V8SFmode:
              if (!register_operand (operands[0], V8SFmode)
                  || GET_MODE (x3) != V8SFmode)
                return -1;
              if (nonimmediate_operand (operands[1], V8SFmode)
                  && nonimmediate_operand (operands[2], V8SFmode)
                  && nonimmediate_operand (operands[3], V8SFmode)
                  && 
#line 3603 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
                return 1793; /* *fma_fmadd_v8sf */
              if (!vector_operand (operands[1], V8SFmode)
                  || !vector_operand (operands[2], V8SFmode)
                  || !vector_operand (operands[3], V8SFmode)
                  || !(
#line 3625 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && 1) && 
#line 3616 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 1800; /* *fma_fmadd_v8sf */

            case V4DFmode:
              if (!register_operand (operands[0], V4DFmode)
                  || GET_MODE (x3) != V4DFmode)
                return -1;
              if (nonimmediate_operand (operands[1], V4DFmode)
                  && nonimmediate_operand (operands[2], V4DFmode)
                  && nonimmediate_operand (operands[3], V4DFmode)
                  && 
#line 3603 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
                return 1794; /* *fma_fmadd_v4df */
              if (!vector_operand (operands[1], V4DFmode)
                  || !vector_operand (operands[2], V4DFmode)
                  || !vector_operand (operands[3], V4DFmode)
                  || !(
#line 3625 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && 1) && 
#line 3617 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 1809; /* *fma_fmadd_v4df */

            case V16SFmode:
              if (pattern429 (x3, V16SFmode) != 0
                  || !
#line 3625 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && 1))
                return -1;
              return 1796; /* *fma_fmadd_v16sf */

            case V8DFmode:
              if (pattern429 (x3, V8DFmode) != 0
                  || !
#line 3625 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && 1))
                return -1;
              return 1805; /* *fma_fmadd_v8df */

            default:
              return -1;
            }

        case NEG:
          x7 = XEXP (x6, 0);
          operands[3] = x7;
          switch (GET_MODE (operands[0]))
            {
            case V4SFmode:
              if (!register_operand (operands[0], V4SFmode)
                  || GET_MODE (x3) != V4SFmode
                  || GET_MODE (x6) != V4SFmode)
                return -1;
              if (nonimmediate_operand (operands[1], V4SFmode)
                  && nonimmediate_operand (operands[2], V4SFmode)
                  && nonimmediate_operand (operands[3], V4SFmode)
                  && 
#line 3672 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
                return 1835; /* *fma_fmsub_v4sf */
              if (!vector_operand (operands[1], V4SFmode)
                  || !vector_operand (operands[2], V4SFmode)
                  || !vector_operand (operands[3], V4SFmode)
                  || !(
#line 3690 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && 1) && 
#line 3616 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 1846; /* *fma_fmsub_v4sf */

            case V2DFmode:
              if (!register_operand (operands[0], V2DFmode)
                  || GET_MODE (x3) != V2DFmode
                  || GET_MODE (x6) != V2DFmode)
                return -1;
              if (nonimmediate_operand (operands[1], V2DFmode)
                  && nonimmediate_operand (operands[2], V2DFmode)
                  && nonimmediate_operand (operands[3], V2DFmode)
                  && 
#line 3672 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
                return 1836; /* *fma_fmsub_v2df */
              if (!vector_operand (operands[1], V2DFmode)
                  || !vector_operand (operands[2], V2DFmode)
                  || !vector_operand (operands[3], V2DFmode)
                  || !(
#line 3690 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && 1) && 
#line 3617 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 1855; /* *fma_fmsub_v2df */

            case V8SFmode:
              if (!register_operand (operands[0], V8SFmode)
                  || GET_MODE (x3) != V8SFmode
                  || GET_MODE (x6) != V8SFmode)
                return -1;
              if (nonimmediate_operand (operands[1], V8SFmode)
                  && nonimmediate_operand (operands[2], V8SFmode)
                  && nonimmediate_operand (operands[3], V8SFmode)
                  && 
#line 3672 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
                return 1837; /* *fma_fmsub_v8sf */
              if (!vector_operand (operands[1], V8SFmode)
                  || !vector_operand (operands[2], V8SFmode)
                  || !vector_operand (operands[3], V8SFmode)
                  || !(
#line 3690 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && 1) && 
#line 3616 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 1844; /* *fma_fmsub_v8sf */

            case V4DFmode:
              if (!register_operand (operands[0], V4DFmode)
                  || GET_MODE (x3) != V4DFmode
                  || GET_MODE (x6) != V4DFmode)
                return -1;
              if (nonimmediate_operand (operands[1], V4DFmode)
                  && nonimmediate_operand (operands[2], V4DFmode)
                  && nonimmediate_operand (operands[3], V4DFmode)
                  && 
#line 3672 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
                return 1838; /* *fma_fmsub_v4df */
              if (!vector_operand (operands[1], V4DFmode)
                  || !vector_operand (operands[2], V4DFmode)
                  || !vector_operand (operands[3], V4DFmode)
                  || !(
#line 3690 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && 1) && 
#line 3617 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 1853; /* *fma_fmsub_v4df */

            case V16SFmode:
              if (pattern430 (x3, V16SFmode) != 0
                  || !
#line 3690 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && 1))
                return -1;
              return 1840; /* *fma_fmsub_v16sf */

            case V8DFmode:
              if (pattern430 (x3, V8DFmode) != 0
                  || !
#line 3690 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && 1))
                return -1;
              return 1849; /* *fma_fmsub_v8df */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case NEG:
      x8 = XEXP (x5, 0);
      operands[1] = x8;
      x6 = XEXP (x3, 2);
      switch (GET_CODE (x6))
        {
        case REG:
        case SUBREG:
        case MEM:
          operands[3] = x6;
          switch (GET_MODE (operands[0]))
            {
            case V4SFmode:
              if (!register_operand (operands[0], V4SFmode)
                  || GET_MODE (x3) != V4SFmode
                  || GET_MODE (x5) != V4SFmode)
                return -1;
              if (nonimmediate_operand (operands[1], V4SFmode)
                  && nonimmediate_operand (operands[2], V4SFmode)
                  && nonimmediate_operand (operands[3], V4SFmode)
                  && 
#line 3739 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
                return 1879; /* *fma_fnmadd_v4sf */
              if (!vector_operand (operands[1], V4SFmode)
                  || !vector_operand (operands[2], V4SFmode)
                  || !vector_operand (operands[3], V4SFmode)
                  || !(
#line 3757 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && 1) && 
#line 3616 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 1890; /* *fma_fnmadd_v4sf */

            case V2DFmode:
              if (!register_operand (operands[0], V2DFmode)
                  || GET_MODE (x3) != V2DFmode
                  || GET_MODE (x5) != V2DFmode)
                return -1;
              if (nonimmediate_operand (operands[1], V2DFmode)
                  && nonimmediate_operand (operands[2], V2DFmode)
                  && nonimmediate_operand (operands[3], V2DFmode)
                  && 
#line 3739 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
                return 1880; /* *fma_fnmadd_v2df */
              if (!vector_operand (operands[1], V2DFmode)
                  || !vector_operand (operands[2], V2DFmode)
                  || !vector_operand (operands[3], V2DFmode)
                  || !(
#line 3757 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && 1) && 
#line 3617 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 1899; /* *fma_fnmadd_v2df */

            case V8SFmode:
              if (!register_operand (operands[0], V8SFmode)
                  || GET_MODE (x3) != V8SFmode
                  || GET_MODE (x5) != V8SFmode)
                return -1;
              if (nonimmediate_operand (operands[1], V8SFmode)
                  && nonimmediate_operand (operands[2], V8SFmode)
                  && nonimmediate_operand (operands[3], V8SFmode)
                  && 
#line 3739 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
                return 1881; /* *fma_fnmadd_v8sf */
              if (!vector_operand (operands[1], V8SFmode)
                  || !vector_operand (operands[2], V8SFmode)
                  || !vector_operand (operands[3], V8SFmode)
                  || !(
#line 3757 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && 1) && 
#line 3616 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 1888; /* *fma_fnmadd_v8sf */

            case V4DFmode:
              if (!register_operand (operands[0], V4DFmode)
                  || GET_MODE (x3) != V4DFmode
                  || GET_MODE (x5) != V4DFmode)
                return -1;
              if (nonimmediate_operand (operands[1], V4DFmode)
                  && nonimmediate_operand (operands[2], V4DFmode)
                  && nonimmediate_operand (operands[3], V4DFmode)
                  && 
#line 3739 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
                return 1882; /* *fma_fnmadd_v4df */
              if (!vector_operand (operands[1], V4DFmode)
                  || !vector_operand (operands[2], V4DFmode)
                  || !vector_operand (operands[3], V4DFmode)
                  || !(
#line 3757 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && 1) && 
#line 3617 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 1897; /* *fma_fnmadd_v4df */

            case V16SFmode:
              if (pattern431 (x3, V16SFmode) != 0
                  || !
#line 3757 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && 1))
                return -1;
              return 1884; /* *fma_fnmadd_v16sf */

            case V8DFmode:
              if (pattern431 (x3, V8DFmode) != 0
                  || !
#line 3757 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && 1))
                return -1;
              return 1893; /* *fma_fnmadd_v8df */

            default:
              return -1;
            }

        case NEG:
          x7 = XEXP (x6, 0);
          operands[3] = x7;
          switch (GET_MODE (operands[0]))
            {
            case V4SFmode:
              if (pattern402 (x3, V4SFmode) != 0)
                return -1;
              if (nonimmediate_operand (operands[1], V4SFmode)
                  && nonimmediate_operand (operands[2], V4SFmode)
                  && nonimmediate_operand (operands[3], V4SFmode)
                  && 
#line 3807 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
                return 1921; /* *fma_fnmsub_v4sf */
              if (!vector_operand (operands[1], V4SFmode)
                  || !vector_operand (operands[2], V4SFmode)
                  || !vector_operand (operands[3], V4SFmode)
                  || !(
#line 3826 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && 1) && 
#line 3616 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 1944; /* *fma_fnmsub_v4sf */

            case V2DFmode:
              if (pattern402 (x3, V2DFmode) != 0)
                return -1;
              if (nonimmediate_operand (operands[1], V2DFmode)
                  && nonimmediate_operand (operands[2], V2DFmode)
                  && nonimmediate_operand (operands[3], V2DFmode)
                  && 
#line 3807 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
                return 1925; /* *fma_fnmsub_v2df */
              if (!vector_operand (operands[1], V2DFmode)
                  || !vector_operand (operands[2], V2DFmode)
                  || !vector_operand (operands[3], V2DFmode)
                  || !(
#line 3826 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && 1) && 
#line 3617 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 1953; /* *fma_fnmsub_v2df */

            case V8SFmode:
              if (pattern402 (x3, V8SFmode) != 0)
                return -1;
              if (nonimmediate_operand (operands[1], V8SFmode)
                  && nonimmediate_operand (operands[2], V8SFmode)
                  && nonimmediate_operand (operands[3], V8SFmode)
                  && 
#line 3807 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
                return 1929; /* *fma_fnmsub_v8sf */
              if (!vector_operand (operands[1], V8SFmode)
                  || !vector_operand (operands[2], V8SFmode)
                  || !vector_operand (operands[3], V8SFmode)
                  || !(
#line 3826 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && 1) && 
#line 3616 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 1942; /* *fma_fnmsub_v8sf */

            case V4DFmode:
              if (pattern402 (x3, V4DFmode) != 0)
                return -1;
              if (nonimmediate_operand (operands[1], V4DFmode)
                  && nonimmediate_operand (operands[2], V4DFmode)
                  && nonimmediate_operand (operands[3], V4DFmode)
                  && 
#line 3807 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4))
                return 1933; /* *fma_fnmsub_v4df */
              if (!vector_operand (operands[1], V4DFmode)
                  || !vector_operand (operands[2], V4DFmode)
                  || !vector_operand (operands[3], V4DFmode)
                  || !(
#line 3826 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && 1) && 
#line 3617 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 1951; /* *fma_fnmsub_v4df */

            case V16SFmode:
              if (pattern432 (x3, V16SFmode) != 0
                  || !
#line 3826 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && 1))
                return -1;
              return 1938; /* *fma_fnmsub_v16sf */

            case V8DFmode:
              if (pattern432 (x3, V8DFmode) != 0
                  || !
#line 3826 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && 1))
                return -1;
              return 1947; /* *fma_fnmsub_v8df */

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_165 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19, x20, x21, x22, x23, x24, x25;
  rtx x26, x27, x28, x29, x30, x31, x32, x33;
  rtx x34, x35, x36, x37, x38, x39, x40, x41;
  rtx x42, x43, x44, x45, x46, x47, x48, x49;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
    case MEM:
      switch (pattern109 (x3))
        {
        case 0:
          if (!(
#line 1561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (PLUS, V16SFmode, operands) && 1 && 1) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
            return -1;
          return 1349; /* *addv16sf3 */

        case 1:
          if (!(
#line 1561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (PLUS, V8SFmode, operands) && 1 && 1) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return -1;
          return 1357; /* *addv8sf3 */

        case 2:
          if (!
#line 1561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (PLUS, V4SFmode, operands) && 1 && 1))
            return -1;
          return 1365; /* *addv4sf3 */

        case 3:
          if (!(
#line 1561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (PLUS, V8DFmode, operands) && 1 && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
            return -1;
          return 1373; /* *addv8df3 */

        case 4:
          if (!(
#line 1561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (PLUS, V4DFmode, operands) && 1 && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return -1;
          return 1381; /* *addv4df3 */

        case 5:
          if (!(
#line 1561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (PLUS, V2DFmode, operands) && 1 && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
            return -1;
          return 1389; /* *addv2df3 */

        case 6:
          if (!(
#line 9937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (PLUS, V64QImode, operands)) && 
#line 293 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 2922; /* *addv64qi3 */

        case 7:
          if (!(
#line 9937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (PLUS, V32QImode, operands)) && 
#line 293 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
            return -1;
          return 2926; /* *addv32qi3 */

        case 8:
          if (!
#line 9937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (PLUS, V16QImode, operands)))
            return -1;
          return 2930; /* *addv16qi3 */

        case 9:
          if (!(
#line 9937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (PLUS, V32HImode, operands)) && 
#line 294 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 2934; /* *addv32hi3 */

        case 10:
          if (!(
#line 9937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (PLUS, V16HImode, operands)) && 
#line 294 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
            return -1;
          return 2938; /* *addv16hi3 */

        case 11:
          if (!
#line 9937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (PLUS, V8HImode, operands)))
            return -1;
          return 2942; /* *addv8hi3 */

        case 12:
          if (!(
#line 9937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (PLUS, V16SImode, operands)) && 
#line 295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
            return -1;
          return 2946; /* *addv16si3 */

        case 13:
          if (!(
#line 9937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (PLUS, V8SImode, operands)) && 
#line 295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
            return -1;
          return 2950; /* *addv8si3 */

        case 14:
          if (!
#line 9937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (PLUS, V4SImode, operands)))
            return -1;
          return 2954; /* *addv4si3 */

        case 15:
          if (!(
#line 9937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (PLUS, V8DImode, operands)) && 
#line 296 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
            return -1;
          return 2958; /* *addv8di3 */

        case 16:
          if (!(
#line 9937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (PLUS, V4DImode, operands)) && 
#line 296 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
            return -1;
          return 2962; /* *addv4di3 */

        case 17:
          if (!
#line 9937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (PLUS, V2DImode, operands)))
            return -1;
          return 2966; /* *addv2di3 */

        default:
          return -1;
        }

    case MULT:
      x5 = XEXP (x4, 0);
      switch (GET_CODE (x5))
        {
        case SIGN_EXTEND:
          if (pattern167 (x4) != 0)
            return -1;
          x6 = XEXP (x5, 0);
          x7 = XEXP (x6, 1);
          switch (XVECLEN (x7, 0))
            {
            case 8:
              if (pattern609 (x4) != 0)
                return -1;
              x8 = XEXP (x3, 1);
              if (GET_CODE (x8) != MULT
                  || GET_MODE (x8) != V8SImode)
                return -1;
              x9 = XEXP (x8, 0);
              if (GET_CODE (x9) != SIGN_EXTEND
                  || GET_MODE (x9) != V8SImode)
                return -1;
              x10 = XEXP (x9, 0);
              if (GET_CODE (x10) != VEC_SELECT
                  || GET_MODE (x10) != V8HImode)
                return -1;
              x11 = XEXP (x10, 1);
              if (GET_CODE (x11) != PARALLEL
                  || pattern975 (x11, 8) != 0)
                return -1;
              x12 = XEXP (x8, 1);
              if (pattern963 (x12, V8HImode, V8SImode) != 0)
                return -1;
              x13 = XEXP (x12, 0);
              x14 = XEXP (x13, 1);
              if (pattern979 (x14, 8) != 0
                  || !register_operand (operands[0], V8SImode)
                  || GET_MODE (x3) != V8SImode
                  || GET_MODE (x4) != V8SImode
                  || GET_MODE (x5) != V8SImode
                  || GET_MODE (x6) != V8HImode
                  || !nonimmediate_operand (operands[1], V16HImode))
                return -1;
              x15 = XEXP (x4, 1);
              if (GET_MODE (x15) != V8SImode)
                return -1;
              x16 = XEXP (x15, 0);
              if (GET_MODE (x16) != V8HImode
                  || !nonimmediate_operand (operands[2], V16HImode))
                return -1;
              x17 = XEXP (x10, 0);
              if (!rtx_equal_p (x17, operands[1]))
                return -1;
              x18 = XEXP (x13, 0);
              if (!rtx_equal_p (x18, operands[2])
                  || !
#line 10384 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && ix86_binary_operator_ok (MULT, V16HImode, operands)))
                return -1;
              return 3078; /* *avx2_pmaddwd */

            case 4:
              x19 = XVECEXP (x7, 0, 0);
              if (GET_CODE (x19) != CONST_INT)
                return -1;
              x20 = XVECEXP (x7, 0, 1);
              if (GET_CODE (x20) != CONST_INT)
                return -1;
              x21 = XVECEXP (x7, 0, 2);
              if (GET_CODE (x21) != CONST_INT)
                return -1;
              x22 = XVECEXP (x7, 0, 3);
              if (GET_CODE (x22) != CONST_INT)
                return -1;
              x15 = XEXP (x4, 1);
              x16 = XEXP (x15, 0);
              x23 = XEXP (x16, 1);
              if (XVECLEN (x23, 0) != 4)
                return -1;
              x24 = XVECEXP (x23, 0, 0);
              if (GET_CODE (x24) != CONST_INT)
                return -1;
              x25 = XVECEXP (x23, 0, 1);
              if (GET_CODE (x25) != CONST_INT)
                return -1;
              x26 = XVECEXP (x23, 0, 2);
              if (GET_CODE (x26) != CONST_INT)
                return -1;
              x27 = XVECEXP (x23, 0, 3);
              if (GET_CODE (x27) != CONST_INT
                  || !register_operand (operands[0], V4SImode)
                  || GET_MODE (x3) != V4SImode
                  || GET_MODE (x4) != V4SImode
                  || GET_MODE (x5) != V4SImode
                  || GET_MODE (x6) != V4HImode
                  || GET_MODE (x15) != V4SImode
                  || GET_MODE (x16) != V4HImode)
                return -1;
              switch (XWINT (x19, 0))
                {
                case 0LL:
                  if (XWINT (x20, 0) != 2LL
                      || XWINT (x21, 0) != 4LL
                      || XWINT (x22, 0) != 6LL
                      || XWINT (x24, 0) != 0LL
                      || XWINT (x25, 0) != 2LL
                      || XWINT (x26, 0) != 4LL
                      || XWINT (x27, 0) != 6LL)
                    return -1;
                  x8 = XEXP (x3, 1);
                  if (pattern917 (x8, V4HImode, V4SImode, SIGN_EXTEND) != 0
                      || !vector_operand (operands[1], V8HImode)
                      || !vector_operand (operands[2], V8HImode))
                    return -1;
                  x9 = XEXP (x8, 0);
                  x10 = XEXP (x9, 0);
                  x17 = XEXP (x10, 0);
                  if (!rtx_equal_p (x17, operands[1]))
                    return -1;
                  x12 = XEXP (x8, 1);
                  x13 = XEXP (x12, 0);
                  x18 = XEXP (x13, 0);
                  if (!rtx_equal_p (x18, operands[2])
                      || !
#line 10440 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && ix86_binary_operator_ok (MULT, V8HImode, operands)))
                    return -1;
                  return 3079; /* *sse2_pmaddwd */

                case 1LL:
                  if (XWINT (x20, 0) != 3LL
                      || XWINT (x21, 0) != 5LL
                      || XWINT (x22, 0) != 7LL
                      || XWINT (x24, 0) != 1LL
                      || XWINT (x25, 0) != 3LL
                      || XWINT (x26, 0) != 5LL
                      || XWINT (x27, 0) != 7LL
                      || !nonimmediate_operand (operands[1], V8HImode)
                      || !nonimmediate_operand (operands[2], V8HImode))
                    return -1;
                  x8 = XEXP (x3, 1);
                  operands[3] = x8;
                  if (!register_operand (operands[3], V4SImode)
                      || !
#line 16305 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
                    return -1;
                  return 3991; /* xop_pmacswd */

                default:
                  return -1;
                }

            case 2:
              if (pattern610 (x3) != 0
                  || !nonimmediate_operand (operands[2], V4SImode))
                return -1;
              x8 = XEXP (x3, 1);
              operands[3] = x8;
              switch (pattern947 (x4))
                {
                case 0:
                  if (!
#line 16266 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
                    return -1;
                  return 3987; /* xop_pmacsdql */

                case 1:
                  if (!
#line 16284 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
                    return -1;
                  return 3989; /* xop_pmacsdqh */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case REG:
        case SUBREG:
        case MEM:
          switch (pattern169 (x3))
            {
            case 0:
              if (!
#line 16248 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
                return -1;
              return 3983; /* xop_pmacsww */

            case 1:
              if (!
#line 16248 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
                return -1;
              return 3985; /* xop_pmacsdd */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case PLUS:
      x5 = XEXP (x4, 0);
      switch (GET_CODE (x5))
        {
        case MULT:
          if (pattern170 (x5) != 0)
            return -1;
          x28 = XEXP (x5, 1);
          x29 = XEXP (x28, 0);
          if (GET_CODE (x29) != VEC_SELECT
              || GET_MODE (x29) != V4HImode)
            return -1;
          x30 = XEXP (x29, 1);
          if (GET_CODE (x30) != PARALLEL
              || XVECLEN (x30, 0) != 4)
            return -1;
          x31 = XVECEXP (x30, 0, 0);
          if (x31 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x32 = XVECEXP (x30, 0, 1);
          if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
            return -1;
          x33 = XVECEXP (x30, 0, 2);
          if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
            return -1;
          x34 = XVECEXP (x30, 0, 3);
          if (x34 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
            return -1;
          x15 = XEXP (x4, 1);
          if (GET_CODE (x15) != MULT
              || GET_MODE (x15) != V4SImode)
            return -1;
          x16 = XEXP (x15, 0);
          if (GET_CODE (x16) != SIGN_EXTEND
              || GET_MODE (x16) != V4SImode)
            return -1;
          x35 = XEXP (x16, 0);
          if (GET_CODE (x35) != VEC_SELECT
              || GET_MODE (x35) != V4HImode)
            return -1;
          x36 = XEXP (x35, 1);
          if (GET_CODE (x36) != PARALLEL
              || XVECLEN (x36, 0) != 4)
            return -1;
          x37 = XVECEXP (x36, 0, 0);
          if (x37 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
            return -1;
          x38 = XVECEXP (x36, 0, 1);
          if (x38 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
            return -1;
          x39 = XVECEXP (x36, 0, 2);
          if (x39 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
            return -1;
          x40 = XVECEXP (x36, 0, 3);
          if (x40 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
            return -1;
          x41 = XEXP (x15, 1);
          if (GET_CODE (x41) != SIGN_EXTEND
              || GET_MODE (x41) != V4SImode)
            return -1;
          x42 = XEXP (x41, 0);
          if (GET_CODE (x42) != VEC_SELECT
              || GET_MODE (x42) != V4HImode)
            return -1;
          x43 = XEXP (x42, 1);
          if (GET_CODE (x43) != PARALLEL
              || XVECLEN (x43, 0) != 4)
            return -1;
          x44 = XVECEXP (x43, 0, 0);
          if (x44 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
            return -1;
          x45 = XVECEXP (x43, 0, 1);
          if (x45 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
            return -1;
          x46 = XVECEXP (x43, 0, 2);
          if (x46 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
            return -1;
          x47 = XVECEXP (x43, 0, 3);
          if (x47 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
              || !register_operand (operands[0], V4SImode)
              || GET_MODE (x3) != V4SImode
              || GET_MODE (x4) != V4SImode
              || pattern981 (x3) != 0
              || !
#line 16337 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
            return -1;
          return 3993; /* xop_pmadcswd */

        case SIGN_EXTEND:
          switch (pattern173 (x3, SIGN_EXTEND))
            {
            case 0:
              if (!
#line 16400 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
                return -1;
              return 4013; /* xop_phaddbd */

            case 1:
              if (!
#line 16487 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
                return -1;
              return 4019; /* xop_phaddwq */

            default:
              return -1;
            }

        case ZERO_EXTEND:
          switch (pattern173 (x3, ZERO_EXTEND))
            {
            case 0:
              if (!
#line 16400 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
                return -1;
              return 4014; /* xop_phaddubd */

            case 1:
              if (!
#line 16487 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
                return -1;
              return 4020; /* xop_phadduwq */

            default:
              return -1;
            }

        case PLUS:
          if (GET_MODE (x5) != V2DImode)
            return -1;
          x15 = XEXP (x4, 1);
          if (GET_CODE (x15) != PLUS
              || GET_MODE (x15) != V2DImode)
            return -1;
          x8 = XEXP (x3, 1);
          if (pattern384 (x8, V2DImode, PLUS) != 0)
            return -1;
          x12 = XEXP (x8, 1);
          if (GET_CODE (x12) != PLUS
              || GET_MODE (x12) != V2DImode
              || !register_operand (operands[0], V2DImode)
              || GET_MODE (x3) != V2DImode
              || GET_MODE (x4) != V2DImode)
            return -1;
          x6 = XEXP (x5, 0);
          if (GET_MODE (x6) != V2DImode)
            return -1;
          x28 = XEXP (x5, 1);
          if (GET_MODE (x28) != V2DImode)
            return -1;
          x16 = XEXP (x15, 0);
          if (GET_MODE (x16) != V2DImode)
            return -1;
          x41 = XEXP (x15, 1);
          if (GET_MODE (x41) != V2DImode)
            return -1;
          x9 = XEXP (x8, 0);
          x10 = XEXP (x9, 0);
          if (GET_MODE (x10) != V2DImode)
            return -1;
          x48 = XEXP (x9, 1);
          if (GET_MODE (x48) != V2DImode)
            return -1;
          x13 = XEXP (x12, 0);
          if (GET_MODE (x13) != V2DImode)
            return -1;
          x49 = XEXP (x12, 1);
          if (GET_MODE (x49) != V2DImode)
            return -1;
          switch (GET_CODE (x6))
            {
            case SIGN_EXTEND:
              if (pattern934 (x3, SIGN_EXTEND) != 0
                  || !
#line 16445 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
                return -1;
              return 4015; /* xop_phaddbq */

            case ZERO_EXTEND:
              if (pattern934 (x3, ZERO_EXTEND) != 0
                  || !
#line 16445 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
                return -1;
              return 4016; /* xop_phaddubq */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case SIGN_EXTEND:
      switch (pattern111 (x3, SIGN_EXTEND))
        {
        case 0:
          if (!
#line 16371 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
            return -1;
          return 4011; /* xop_phaddbw */

        case 1:
          if (!
#line 16462 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
            return -1;
          return 4017; /* xop_phaddwd */

        case 2:
          if (!
#line 16502 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
            return -1;
          return 4021; /* xop_phadddq */

        default:
          return -1;
        }

    case ZERO_EXTEND:
      switch (pattern111 (x3, ZERO_EXTEND))
        {
        case 0:
          if (!
#line 16371 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
            return -1;
          return 4012; /* xop_phaddubw */

        case 1:
          if (!
#line 16462 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
            return -1;
          return 4018; /* xop_phadduwd */

        case 2:
          if (!
#line 16502 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
            return -1;
          return 4022; /* xop_phaddudq */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_166 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (XVECLEN (x2, 0))
    {
    case 1:
      return recog_136 (x1, insn, pnum_clobbers);

    case 2:
      return recog_134 (x1, insn, pnum_clobbers);

    case 3:
      return recog_135 (x1, insn, pnum_clobbers);

    case 4:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      switch (XINT (x2, 1))
        {
        case 160:
          x4 = XVECEXP (x2, 0, 0);
          operands[1] = x4;
          x5 = XVECEXP (x2, 0, 1);
          operands[2] = x5;
          x6 = XVECEXP (x2, 0, 2);
          operands[3] = x6;
          x7 = XVECEXP (x2, 0, 3);
          operands[4] = x7;
          if (!const_0_to_255_operand (operands[4], SImode))
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case V16SImode:
              if (pattern105 (x2, V16SImode) != 0
                  || !
#line 8230 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return -1;
              return 2559; /* avx512f_vternlogv16si */

            case V8SImode:
              if (pattern105 (x2, V8SImode) != 0
                  || !(
#line 8230 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 2561; /* avx512vl_vternlogv8si */

            case V4SImode:
              if (pattern105 (x2, V4SImode) != 0
                  || !(
#line 8230 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 2563; /* avx512vl_vternlogv4si */

            case V8DImode:
              if (pattern105 (x2, V8DImode) != 0
                  || !
#line 8230 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return -1;
              return 2565; /* avx512f_vternlogv8di */

            case V4DImode:
              if (pattern105 (x2, V4DImode) != 0
                  || !(
#line 8230 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 2567; /* avx512vl_vternlogv4di */

            case V2DImode:
              if (pattern105 (x2, V2DImode) != 0
                  || !(
#line 8230 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 2569; /* avx512vl_vternlogv2di */

            default:
              return -1;
            }

        case 158:
          x4 = XVECEXP (x2, 0, 0);
          operands[1] = x4;
          x5 = XVECEXP (x2, 0, 1);
          operands[2] = x5;
          x6 = XVECEXP (x2, 0, 2);
          operands[3] = x6;
          x7 = XVECEXP (x2, 0, 3);
          operands[4] = x7;
          if (!const_0_to_255_operand (operands[4], SImode))
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case V16SFmode:
              if (pattern540 (x2, V16SImode, V16SFmode) != 0
                  || !
#line 8343 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return -1;
              return 2617; /* avx512f_fixupimmv16sf */

            case V8SFmode:
              if (pattern540 (x2, V8SImode, V8SFmode) != 0
                  || !(
#line 8343 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 2621; /* avx512vl_fixupimmv8sf */

            case V4SFmode:
              if (pattern540 (x2, V4SImode, V4SFmode) != 0
                  || !(
#line 8343 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 2625; /* avx512vl_fixupimmv4sf */

            case V8DFmode:
              if (pattern540 (x2, V8DImode, V8DFmode) != 0
                  || !
#line 8343 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return -1;
              return 2629; /* avx512f_fixupimmv8df */

            case V4DFmode:
              if (pattern540 (x2, V4DImode, V4DFmode) != 0
                  || !(
#line 8343 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 2633; /* avx512vl_fixupimmv4df */

            case V2DFmode:
              if (pattern540 (x2, V2DImode, V2DFmode) != 0
                  || !(
#line 8343 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 2637; /* avx512vl_fixupimmv2df */

            default:
              return -1;
            }

        case 113:
          if (GET_MODE (x2) != V2DImode
              || !register_operand (operands[0], V2DImode))
            return -1;
          x4 = XVECEXP (x2, 0, 0);
          operands[1] = x4;
          if (!register_operand (operands[1], V2DImode))
            return -1;
          x5 = XVECEXP (x2, 0, 1);
          operands[2] = x5;
          if (!register_operand (operands[2], V2DImode))
            return -1;
          x6 = XVECEXP (x2, 0, 2);
          operands[3] = x6;
          if (!const_0_to_255_operand (operands[3], VOIDmode))
            return -1;
          x7 = XVECEXP (x2, 0, 3);
          operands[4] = x7;
          if (!const_0_to_255_operand (operands[4], VOIDmode)
              || !
#line 14989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4A))
            return -1;
          return 3800; /* sse4a_insertqi */

        case 138:
          x4 = XVECEXP (x2, 0, 0);
          operands[1] = x4;
          x5 = XVECEXP (x2, 0, 1);
          operands[2] = x5;
          x6 = XVECEXP (x2, 0, 2);
          operands[3] = x6;
          x7 = XVECEXP (x2, 0, 3);
          operands[4] = x7;
          if (!const_0_to_3_operand (operands[4], SImode))
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case V8SFmode:
              if (pattern541 (x2, V8SImode, V8SFmode) != 0
                  || !(
#line 17120 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP) && 
#line 230 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
                return -1;
              return 4074; /* xop_vpermil2v8sf3 */

            case V4SFmode:
              if (pattern541 (x2, V4SImode, V4SFmode) != 0
                  || !
#line 17120 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
                return -1;
              return 4075; /* xop_vpermil2v4sf3 */

            case V4DFmode:
              if (pattern541 (x2, V4DImode, V4DFmode) != 0
                  || !(
#line 17120 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP) && 
#line 231 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
                return -1;
              return 4076; /* xop_vpermil2v4df3 */

            case V2DFmode:
              if (pattern541 (x2, V2DImode, V2DFmode) != 0
                  || !(
#line 17120 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP) && 
#line 231 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
                return -1;
              return 4077; /* xop_vpermil2v2df3 */

            default:
              return -1;
            }

        case 146:
          if (pnum_clobbers == NULL)
            return -1;
          x5 = XVECEXP (x2, 0, 1);
          if (GET_CODE (x5) != MEM)
            return -1;
          x8 = XEXP (x5, 0);
          if (GET_CODE (x8) != UNSPEC
              || XVECLEN (x8, 0) != 3
              || XINT (x8, 1) != 147)
            return -1;
          x6 = XVECEXP (x2, 0, 2);
          if (GET_CODE (x6) != MEM
              || GET_MODE (x6) != BLKmode)
            return -1;
          x9 = XEXP (x6, 0);
          if (GET_CODE (x9) != SCRATCH)
            return -1;
          x10 = XVECEXP (x8, 0, 2);
          if (!const1248_operand (x10, SImode))
            return -1;
          x4 = XVECEXP (x2, 0, 0);
          switch (GET_CODE (x4))
            {
            case REG:
            case SUBREG:
              operands[2] = x4;
              operands[7] = x5;
              x11 = XVECEXP (x8, 0, 0);
              operands[3] = x11;
              x12 = XVECEXP (x8, 0, 1);
              operands[4] = x12;
              operands[6] = x10;
              x7 = XVECEXP (x2, 0, 3);
              operands[5] = x7;
              switch (GET_MODE (operands[0]))
                {
                case V2DImode:
                  switch (pattern879 (x2, V2DImode, DImode))
                    {
                    case 0:
                      if (!(
#line 19019 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4549; /* *avx2_gathersiv2di */

                    case 1:
                      if (!(
#line 19080 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4581; /* *avx2_gatherdiv2di */

                    case 2:
                      if (!(
#line 19019 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4550; /* *avx2_gathersiv2di */

                    case 3:
                      if (!(
#line 19080 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4582; /* *avx2_gatherdiv2di */

                    default:
                      return -1;
                    }

                case V2DFmode:
                  switch (pattern879 (x2, V2DFmode, DFmode))
                    {
                    case 0:
                      if (!(
#line 19019 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4551; /* *avx2_gathersiv2df */

                    case 1:
                      if (!(
#line 19080 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4583; /* *avx2_gatherdiv2df */

                    case 2:
                      if (!(
#line 19019 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4552; /* *avx2_gathersiv2df */

                    case 3:
                      if (!(
#line 19080 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4584; /* *avx2_gatherdiv2df */

                    default:
                      return -1;
                    }

                case V4DImode:
                  switch (pattern881 (x2, V4DImode, DImode))
                    {
                    case 0:
                      if (!(
#line 19019 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4553; /* *avx2_gathersiv4di */

                    case 1:
                      if (!(
#line 19080 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4585; /* *avx2_gatherdiv4di */

                    case 2:
                      if (!(
#line 19019 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4554; /* *avx2_gathersiv4di */

                    case 3:
                      if (!(
#line 19080 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4586; /* *avx2_gatherdiv4di */

                    default:
                      return -1;
                    }

                case V4DFmode:
                  switch (pattern881 (x2, V4DFmode, DFmode))
                    {
                    case 0:
                      if (!(
#line 19019 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4555; /* *avx2_gathersiv4df */

                    case 1:
                      if (!(
#line 19080 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4587; /* *avx2_gatherdiv4df */

                    case 2:
                      if (!(
#line 19019 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4556; /* *avx2_gathersiv4df */

                    case 3:
                      if (!(
#line 19080 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4588; /* *avx2_gatherdiv4df */

                    default:
                      return -1;
                    }

                case V4SImode:
                  switch (pattern879 (x2, V4SImode, SImode))
                    {
                    case 0:
                      if (!(
#line 19019 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4557; /* *avx2_gathersiv4si */

                    case 1:
                      if (!(
#line 19080 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4589; /* *avx2_gatherdiv4si */

                    case 2:
                      if (!(
#line 19019 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4558; /* *avx2_gathersiv4si */

                    case 3:
                      if (!(
#line 19080 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4590; /* *avx2_gatherdiv4si */

                    default:
                      return -1;
                    }

                case V4SFmode:
                  switch (pattern879 (x2, V4SFmode, SFmode))
                    {
                    case 0:
                      if (!(
#line 19019 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4559; /* *avx2_gathersiv4sf */

                    case 1:
                      if (!(
#line 19080 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4591; /* *avx2_gatherdiv4sf */

                    case 2:
                      if (!(
#line 19019 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4560; /* *avx2_gathersiv4sf */

                    case 3:
                      if (!(
#line 19080 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4592; /* *avx2_gatherdiv4sf */

                    default:
                      return -1;
                    }

                case V8SImode:
                  if (!register_operand (operands[0], V8SImode)
                      || GET_MODE (x2) != V8SImode
                      || !vsib_mem_operator (operands[7], SImode))
                    return -1;
                  switch (GET_MODE (operands[2]))
                    {
                    case V8SImode:
                      if (!register_operand (operands[2], V8SImode)
                          || !register_operand (operands[4], V8SImode))
                        return -1;
                      switch (pattern932 (x8, V8SImode))
                        {
                        case 0:
                          if (!(
#line 19019 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                            return -1;
                          *pnum_clobbers = 1;
                          return 4561; /* *avx2_gathersiv8si */

                        case 1:
                          if (!(
#line 19019 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                            return -1;
                          *pnum_clobbers = 1;
                          return 4562; /* *avx2_gathersiv8si */

                        default:
                          return -1;
                        }

                    case V4SImode:
                      switch (pattern933 (x8, V4SImode, V4DImode))
                        {
                        case 0:
                          if (!(
#line 19080 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                            return -1;
                          *pnum_clobbers = 1;
                          return 4593; /* *avx2_gatherdiv8si */

                        case 1:
                          if (!(
#line 19080 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                            return -1;
                          *pnum_clobbers = 1;
                          return 4594; /* *avx2_gatherdiv8si */

                        default:
                          return -1;
                        }

                    default:
                      return -1;
                    }

                case V8SFmode:
                  if (!register_operand (operands[0], V8SFmode)
                      || GET_MODE (x2) != V8SFmode
                      || !vsib_mem_operator (operands[7], SFmode))
                    return -1;
                  switch (GET_MODE (operands[2]))
                    {
                    case V8SFmode:
                      switch (pattern933 (x8, V8SFmode, V8SImode))
                        {
                        case 0:
                          if (!(
#line 19019 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                            return -1;
                          *pnum_clobbers = 1;
                          return 4563; /* *avx2_gathersiv8sf */

                        case 1:
                          if (!(
#line 19019 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                            return -1;
                          *pnum_clobbers = 1;
                          return 4564; /* *avx2_gathersiv8sf */

                        default:
                          return -1;
                        }

                    case V4SFmode:
                      switch (pattern933 (x8, V4SFmode, V4DImode))
                        {
                        case 0:
                          if (!(
#line 19080 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                            return -1;
                          *pnum_clobbers = 1;
                          return 4595; /* *avx2_gatherdiv8sf */

                        case 1:
                          if (!(
#line 19080 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                            return -1;
                          *pnum_clobbers = 1;
                          return 4596; /* *avx2_gatherdiv8sf */

                        default:
                          return -1;
                        }

                    default:
                      return -1;
                    }

                default:
                  return -1;
                }

            case PC:
              operands[6] = x5;
              x11 = XVECEXP (x8, 0, 0);
              operands[2] = x11;
              x12 = XVECEXP (x8, 0, 1);
              operands[3] = x12;
              operands[5] = x10;
              x7 = XVECEXP (x2, 0, 3);
              operands[4] = x7;
              switch (GET_MODE (operands[0]))
                {
                case V2DImode:
                  switch (pattern854 (x2, V2DImode, DImode))
                    {
                    case 0:
                      if (!(
#line 19039 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4565; /* *avx2_gathersiv2di_2 */

                    case 1:
                      if (!(
#line 19100 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4597; /* *avx2_gatherdiv2di_2 */

                    case 2:
                      if (!(
#line 19039 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4566; /* *avx2_gathersiv2di_2 */

                    case 3:
                      if (!(
#line 19100 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4598; /* *avx2_gatherdiv2di_2 */

                    default:
                      return -1;
                    }

                case V2DFmode:
                  switch (pattern854 (x2, V2DFmode, DFmode))
                    {
                    case 0:
                      if (!(
#line 19039 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4567; /* *avx2_gathersiv2df_2 */

                    case 1:
                      if (!(
#line 19100 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4599; /* *avx2_gatherdiv2df_2 */

                    case 2:
                      if (!(
#line 19039 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4568; /* *avx2_gathersiv2df_2 */

                    case 3:
                      if (!(
#line 19100 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4600; /* *avx2_gatherdiv2df_2 */

                    default:
                      return -1;
                    }

                case V4DImode:
                  switch (pattern856 (x2, V4DImode, DImode))
                    {
                    case 0:
                      if (!(
#line 19039 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4569; /* *avx2_gathersiv4di_2 */

                    case 1:
                      if (!(
#line 19100 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4601; /* *avx2_gatherdiv4di_2 */

                    case 2:
                      if (!(
#line 19039 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4570; /* *avx2_gathersiv4di_2 */

                    case 3:
                      if (!(
#line 19100 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4602; /* *avx2_gatherdiv4di_2 */

                    default:
                      return -1;
                    }

                case V4DFmode:
                  switch (pattern856 (x2, V4DFmode, DFmode))
                    {
                    case 0:
                      if (!(
#line 19039 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4571; /* *avx2_gathersiv4df_2 */

                    case 1:
                      if (!(
#line 19100 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4603; /* *avx2_gatherdiv4df_2 */

                    case 2:
                      if (!(
#line 19039 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4572; /* *avx2_gathersiv4df_2 */

                    case 3:
                      if (!(
#line 19100 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4604; /* *avx2_gatherdiv4df_2 */

                    default:
                      return -1;
                    }

                case V4SImode:
                  switch (pattern854 (x2, V4SImode, SImode))
                    {
                    case 0:
                      if (!(
#line 19039 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4573; /* *avx2_gathersiv4si_2 */

                    case 1:
                      if (!(
#line 19100 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4605; /* *avx2_gatherdiv4si_2 */

                    case 2:
                      if (!(
#line 19039 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4574; /* *avx2_gathersiv4si_2 */

                    case 3:
                      if (!(
#line 19100 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4606; /* *avx2_gatherdiv4si_2 */

                    default:
                      return -1;
                    }

                case V4SFmode:
                  switch (pattern854 (x2, V4SFmode, SFmode))
                    {
                    case 0:
                      if (!(
#line 19039 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4575; /* *avx2_gathersiv4sf_2 */

                    case 1:
                      if (!(
#line 19100 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4607; /* *avx2_gatherdiv4sf_2 */

                    case 2:
                      if (!(
#line 19039 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4576; /* *avx2_gathersiv4sf_2 */

                    case 3:
                      if (!(
#line 19100 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4608; /* *avx2_gatherdiv4sf_2 */

                    default:
                      return -1;
                    }

                case V8SImode:
                  switch (pattern857 (x2, SImode, V8SImode))
                    {
                    case 0:
                      switch (pattern921 (SImode))
                        {
                        case 0:
                          if (!(
#line 19039 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                            return -1;
                          *pnum_clobbers = 1;
                          return 4577; /* *avx2_gathersiv8si_2 */

                        case 1:
                          if (!(
#line 19100 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                            return -1;
                          *pnum_clobbers = 1;
                          return 4609; /* *avx2_gatherdiv8si_2 */

                        default:
                          return -1;
                        }

                    case 1:
                      switch (pattern921 (DImode))
                        {
                        case 0:
                          if (!(
#line 19039 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                            return -1;
                          *pnum_clobbers = 1;
                          return 4578; /* *avx2_gathersiv8si_2 */

                        case 1:
                          if (!(
#line 19100 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                            return -1;
                          *pnum_clobbers = 1;
                          return 4610; /* *avx2_gatherdiv8si_2 */

                        default:
                          return -1;
                        }

                    default:
                      return -1;
                    }

                case V8SFmode:
                  switch (pattern857 (x2, SFmode, V8SFmode))
                    {
                    case 0:
                      switch (pattern922 (SImode))
                        {
                        case 0:
                          if (!(
#line 19039 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                            return -1;
                          *pnum_clobbers = 1;
                          return 4579; /* *avx2_gathersiv8sf_2 */

                        case 1:
                          if (!(
#line 19100 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                            return -1;
                          *pnum_clobbers = 1;
                          return 4611; /* *avx2_gatherdiv8sf_2 */

                        default:
                          return -1;
                        }

                    case 1:
                      switch (pattern922 (DImode))
                        {
                        case 0:
                          if (!(
#line 19039 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                            return -1;
                          *pnum_clobbers = 1;
                          return 4580; /* *avx2_gathersiv8sf_2 */

                        case 1:
                          if (!(
#line 19100 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                            return -1;
                          *pnum_clobbers = 1;
                          return 4612; /* *avx2_gatherdiv8sf_2 */

                        default:
                          return -1;
                        }

                    default:
                      return -1;
                    }

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_167 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19, x20, x21, x22, x23, x24, x25;
  rtx x26, x27, x28, x29, x30, x31, x32, x33;
  rtx x34, x35, x36, x37, x38, x39, x40, x41;
  rtx x42, x43, x44, x45, x46, x47, x48, x49;
  rtx x50, x51, x52, x53, x54, x55, x56, x57;
  rtx x58, x59, x60, x61, x62, x63, x64, x65;
  rtx x66, x67, x68, x69, x70, x71, x72, x73;
  rtx x74, x75, x76;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
    case MEM:
      switch (pattern42 (x3))
        {
        case 0:
          if (!(
#line 9990 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1
   && ix86_binary_operator_ok (SS_PLUS, V64QImode, operands)) && 
#line 382 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 2994; /* *avx512bw_ssaddv64qi3 */

        case 1:
          if (!(
#line 9990 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1
   && ix86_binary_operator_ok (SS_PLUS, V32QImode, operands)) && 
#line 382 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
            return -1;
          return 3002; /* *avx2_ssaddv32qi3 */

        case 2:
          if (!
#line 9990 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1
   && ix86_binary_operator_ok (SS_PLUS, V16QImode, operands)))
            return -1;
          return 3010; /* *sse2_ssaddv16qi3 */

        case 3:
          if (!(
#line 9990 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1
   && ix86_binary_operator_ok (SS_PLUS, V32HImode, operands)) && 
#line 383 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 3018; /* *avx512bw_ssaddv32hi3 */

        case 4:
          if (!(
#line 9990 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1
   && ix86_binary_operator_ok (SS_PLUS, V16HImode, operands)) && 
#line 383 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
            return -1;
          return 3026; /* *avx2_ssaddv16hi3 */

        case 5:
          if (!
#line 9990 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1
   && ix86_binary_operator_ok (SS_PLUS, V8HImode, operands)))
            return -1;
          return 3034; /* *sse2_ssaddv8hi3 */

        default:
          return -1;
        }

    case MULT:
      x5 = XEXP (x4, 0);
      switch (GET_CODE (x5))
        {
        case ZERO_EXTEND:
          x6 = XEXP (x5, 0);
          if (GET_CODE (x6) != VEC_SELECT)
            return -1;
          x7 = XEXP (x6, 1);
          if (GET_CODE (x7) != PARALLEL)
            return -1;
          x8 = XEXP (x4, 1);
          if (GET_CODE (x8) != SIGN_EXTEND)
            return -1;
          x9 = XEXP (x8, 0);
          if (GET_CODE (x9) != VEC_SELECT)
            return -1;
          x10 = XEXP (x9, 1);
          if (GET_CODE (x10) != PARALLEL)
            return -1;
          x11 = XEXP (x3, 1);
          if (GET_CODE (x11) != MULT)
            return -1;
          x12 = XEXP (x11, 0);
          if (GET_CODE (x12) != ZERO_EXTEND)
            return -1;
          x13 = XEXP (x12, 0);
          if (GET_CODE (x13) != VEC_SELECT)
            return -1;
          x14 = XEXP (x13, 1);
          if (GET_CODE (x14) != PARALLEL)
            return -1;
          x15 = XEXP (x11, 1);
          if (GET_CODE (x15) != SIGN_EXTEND)
            return -1;
          x16 = XEXP (x15, 0);
          if (GET_CODE (x16) != VEC_SELECT)
            return -1;
          x17 = XEXP (x16, 1);
          if (GET_CODE (x17) != PARALLEL)
            return -1;
          x18 = XEXP (x6, 0);
          operands[1] = x18;
          x19 = XEXP (x9, 0);
          operands[2] = x19;
          x20 = XEXP (x13, 0);
          if (!rtx_equal_p (x20, operands[1]))
            return -1;
          x21 = XEXP (x16, 0);
          if (!rtx_equal_p (x21, operands[2]))
            return -1;
          switch (XVECLEN (x7, 0))
            {
            case 16:
              if (pattern515 (x7, 6, 4, 2, 0) != 0)
                return -1;
              x22 = XVECEXP (x7, 0, 4);
              if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
                return -1;
              x23 = XVECEXP (x7, 0, 5);
              if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
                return -1;
              x24 = XVECEXP (x7, 0, 6);
              if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
                return -1;
              x25 = XVECEXP (x7, 0, 7);
              if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 14])
                return -1;
              x26 = XVECEXP (x7, 0, 8);
              if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 16])
                return -1;
              x27 = XVECEXP (x7, 0, 9);
              if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 18])
                return -1;
              x28 = XVECEXP (x7, 0, 10);
              if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 20])
                return -1;
              x29 = XVECEXP (x7, 0, 11);
              if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 22])
                return -1;
              x30 = XVECEXP (x7, 0, 12);
              if (x30 != const_int_rtx[MAX_SAVED_CONST_INT + 24])
                return -1;
              x31 = XVECEXP (x7, 0, 13);
              if (x31 != const_int_rtx[MAX_SAVED_CONST_INT + 26])
                return -1;
              x32 = XVECEXP (x7, 0, 14);
              if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 28])
                return -1;
              x33 = XVECEXP (x7, 0, 15);
              if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 30]
                  || pattern608 (x10, 16) != 0)
                return -1;
              x34 = XVECEXP (x10, 0, 8);
              if (x34 != const_int_rtx[MAX_SAVED_CONST_INT + 16])
                return -1;
              x35 = XVECEXP (x10, 0, 9);
              if (x35 != const_int_rtx[MAX_SAVED_CONST_INT + 18])
                return -1;
              x36 = XVECEXP (x10, 0, 10);
              if (x36 != const_int_rtx[MAX_SAVED_CONST_INT + 20])
                return -1;
              x37 = XVECEXP (x10, 0, 11);
              if (x37 != const_int_rtx[MAX_SAVED_CONST_INT + 22])
                return -1;
              x38 = XVECEXP (x10, 0, 12);
              if (x38 != const_int_rtx[MAX_SAVED_CONST_INT + 24])
                return -1;
              x39 = XVECEXP (x10, 0, 13);
              if (x39 != const_int_rtx[MAX_SAVED_CONST_INT + 26])
                return -1;
              x40 = XVECEXP (x10, 0, 14);
              if (x40 != const_int_rtx[MAX_SAVED_CONST_INT + 28])
                return -1;
              x41 = XVECEXP (x10, 0, 15);
              if (x41 != const_int_rtx[MAX_SAVED_CONST_INT + 30]
                  || pattern975 (x14, 16) != 0)
                return -1;
              x42 = XVECEXP (x14, 0, 8);
              if (x42 != const_int_rtx[MAX_SAVED_CONST_INT + 17])
                return -1;
              x43 = XVECEXP (x14, 0, 9);
              if (x43 != const_int_rtx[MAX_SAVED_CONST_INT + 19])
                return -1;
              x44 = XVECEXP (x14, 0, 10);
              if (x44 != const_int_rtx[MAX_SAVED_CONST_INT + 21])
                return -1;
              x45 = XVECEXP (x14, 0, 11);
              if (x45 != const_int_rtx[MAX_SAVED_CONST_INT + 23])
                return -1;
              x46 = XVECEXP (x14, 0, 12);
              if (x46 != const_int_rtx[MAX_SAVED_CONST_INT + 25])
                return -1;
              x47 = XVECEXP (x14, 0, 13);
              if (x47 != const_int_rtx[MAX_SAVED_CONST_INT + 27])
                return -1;
              x48 = XVECEXP (x14, 0, 14);
              if (x48 != const_int_rtx[MAX_SAVED_CONST_INT + 29])
                return -1;
              x49 = XVECEXP (x14, 0, 15);
              if (x49 != const_int_rtx[MAX_SAVED_CONST_INT + 31]
                  || pattern979 (x17, 16) != 0)
                return -1;
              x50 = XVECEXP (x17, 0, 8);
              if (x50 != const_int_rtx[MAX_SAVED_CONST_INT + 17])
                return -1;
              x51 = XVECEXP (x17, 0, 9);
              if (x51 != const_int_rtx[MAX_SAVED_CONST_INT + 19])
                return -1;
              x52 = XVECEXP (x17, 0, 10);
              if (x52 != const_int_rtx[MAX_SAVED_CONST_INT + 21])
                return -1;
              x53 = XVECEXP (x17, 0, 11);
              if (x53 != const_int_rtx[MAX_SAVED_CONST_INT + 23])
                return -1;
              x54 = XVECEXP (x17, 0, 12);
              if (x54 != const_int_rtx[MAX_SAVED_CONST_INT + 25])
                return -1;
              x55 = XVECEXP (x17, 0, 13);
              if (x55 != const_int_rtx[MAX_SAVED_CONST_INT + 27])
                return -1;
              x56 = XVECEXP (x17, 0, 14);
              if (x56 != const_int_rtx[MAX_SAVED_CONST_INT + 29])
                return -1;
              x57 = XVECEXP (x17, 0, 15);
              if (x57 != const_int_rtx[MAX_SAVED_CONST_INT + 31]
                  || pattern983 (x3, V32QImode, V16QImode, V16HImode) != 0
                  || GET_MODE (x8) != V16HImode
                  || GET_MODE (x9) != V16QImode
                  || !nonimmediate_operand (operands[2], V32QImode)
                  || pattern171 (x11, V16QImode, V16HImode) != 0
                  || !
#line 14501 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))
                return -1;
              return 3726; /* avx2_pmaddubsw256 */

            case 8:
              if (pattern609 (x4) != 0
                  || pattern975 (x14, 8) != 0
                  || pattern979 (x17, 8) != 0
                  || pattern983 (x3, V16QImode, V8QImode, V8HImode) != 0
                  || GET_MODE (x8) != V8HImode
                  || GET_MODE (x9) != V8QImode
                  || !vector_operand (operands[2], V16QImode)
                  || pattern171 (x11, V8QImode, V8HImode) != 0
                  || !
#line 14589 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3))
                return -1;
              return 3735; /* ssse3_pmaddubsw128 */

            default:
              return -1;
            }

        case REG:
        case SUBREG:
        case MEM:
          switch (pattern169 (x3))
            {
            case 0:
              if (!
#line 16248 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
                return -1;
              return 3984; /* xop_pmacssww */

            case 1:
              if (!
#line 16248 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
                return -1;
              return 3986; /* xop_pmacssdd */

            default:
              return -1;
            }

        case SIGN_EXTEND:
          if (pattern167 (x4) != 0)
            return -1;
          x11 = XEXP (x3, 1);
          operands[3] = x11;
          x6 = XEXP (x5, 0);
          x7 = XEXP (x6, 1);
          switch (XVECLEN (x7, 0))
            {
            case 2:
              if (pattern610 (x3) != 0
                  || !nonimmediate_operand (operands[2], V4SImode))
                return -1;
              switch (pattern947 (x4))
                {
                case 0:
                  if (!
#line 16266 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
                    return -1;
                  return 3988; /* xop_pmacssdql */

                case 1:
                  if (!
#line 16284 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
                    return -1;
                  return 3990; /* xop_pmacssdqh */

                default:
                  return -1;
                }

            case 4:
              if (pattern515 (x7, 7, 5, 3, 1) != 0)
                return -1;
              x8 = XEXP (x4, 1);
              x9 = XEXP (x8, 0);
              x10 = XEXP (x9, 1);
              if (pattern789 (x10, 7, 5, 3, 1) != 0
                  || !register_operand (operands[0], V4SImode)
                  || GET_MODE (x3) != V4SImode
                  || GET_MODE (x4) != V4SImode
                  || GET_MODE (x5) != V4SImode
                  || GET_MODE (x6) != V4HImode
                  || !nonimmediate_operand (operands[1], V8HImode)
                  || GET_MODE (x8) != V4SImode
                  || GET_MODE (x9) != V4HImode
                  || !nonimmediate_operand (operands[2], V8HImode)
                  || !register_operand (operands[3], V4SImode)
                  || !
#line 16305 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
                return -1;
              return 3992; /* xop_pmacsswd */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case PLUS:
      if (GET_MODE (x4) != V4SImode)
        return -1;
      x5 = XEXP (x4, 0);
      if (GET_CODE (x5) != MULT
          || pattern170 (x5) != 0)
        return -1;
      x58 = XEXP (x5, 1);
      x59 = XEXP (x58, 0);
      if (GET_CODE (x59) != VEC_SELECT
          || GET_MODE (x59) != V4HImode)
        return -1;
      x60 = XEXP (x59, 1);
      if (GET_CODE (x60) != PARALLEL
          || XVECLEN (x60, 0) != 4)
        return -1;
      x61 = XVECEXP (x60, 0, 0);
      if (x61 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x62 = XVECEXP (x60, 0, 1);
      if (x62 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
        return -1;
      x63 = XVECEXP (x60, 0, 2);
      if (x63 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
        return -1;
      x64 = XVECEXP (x60, 0, 3);
      if (x64 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
        return -1;
      x8 = XEXP (x4, 1);
      if (GET_CODE (x8) != MULT
          || GET_MODE (x8) != V4SImode)
        return -1;
      x9 = XEXP (x8, 0);
      if (GET_CODE (x9) != SIGN_EXTEND
          || GET_MODE (x9) != V4SImode)
        return -1;
      x19 = XEXP (x9, 0);
      if (GET_CODE (x19) != VEC_SELECT
          || GET_MODE (x19) != V4HImode)
        return -1;
      x65 = XEXP (x19, 1);
      if (GET_CODE (x65) != PARALLEL
          || XVECLEN (x65, 0) != 4)
        return -1;
      x66 = XVECEXP (x65, 0, 0);
      if (x66 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
        return -1;
      x67 = XVECEXP (x65, 0, 1);
      if (x67 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
        return -1;
      x68 = XVECEXP (x65, 0, 2);
      if (x68 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
        return -1;
      x69 = XVECEXP (x65, 0, 3);
      if (x69 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
        return -1;
      x70 = XEXP (x8, 1);
      if (GET_CODE (x70) != SIGN_EXTEND
          || GET_MODE (x70) != V4SImode)
        return -1;
      x71 = XEXP (x70, 0);
      if (GET_CODE (x71) != VEC_SELECT
          || GET_MODE (x71) != V4HImode)
        return -1;
      x72 = XEXP (x71, 1);
      if (GET_CODE (x72) != PARALLEL
          || XVECLEN (x72, 0) != 4)
        return -1;
      x73 = XVECEXP (x72, 0, 0);
      if (x73 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
        return -1;
      x74 = XVECEXP (x72, 0, 1);
      if (x74 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
        return -1;
      x75 = XVECEXP (x72, 0, 2);
      if (x75 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
        return -1;
      x76 = XVECEXP (x72, 0, 3);
      if (x76 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
          || !register_operand (operands[0], V4SImode)
          || GET_MODE (x3) != V4SImode
          || pattern981 (x3) != 0
          || !
#line 16337 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
        return -1;
      return 3994; /* xop_pmadcsswd */

    default:
      return -1;
    }
}

static int
recog_168 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case VEC_SELECT:
      return recog_160 (x1, insn, pnum_clobbers);

    case REG:
    case SUBREG:
    case MEM:
      operands[1] = x4;
      switch (GET_MODE (operands[0]))
        {
        case V2DFmode:
          if (!register_operand (operands[0], V2DFmode)
              || GET_MODE (x3) != V2DFmode
              || !nonimmediate_operand (operands[1], DFmode))
            return -1;
          if (
#line 9050 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1))
            return 2721; /* vec_dupv2df */
          if (!(
#line 17590 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 187 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4223; /* *avx512vl_vec_dup_gprv2df */

        case V16SFmode:
          if (!register_operand (operands[0], V16SFmode)
              || GET_MODE (x3) != V16SFmode)
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case V4SFmode:
              if (!nonimmediate_operand (operands[1], V4SFmode)
                  || !
#line 17554 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return -1;
              return 4181; /* *avx512f_broadcastv16sf */

            case SFmode:
              if (!nonimmediate_operand (operands[1], SFmode)
                  || !
#line 17590 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return -1;
              return 4213; /* *avx512f_vec_dup_gprv16sf */

            case V8SFmode:
              if (!nonimmediate_operand (operands[1], V8SFmode)
                  || !
#line 17800 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ))
                return -1;
              return 4262; /* *avx512dq_broadcastv16sf_1 */

            default:
              return -1;
            }

        case V16SImode:
          if (!register_operand (operands[0], V16SImode)
              || GET_MODE (x3) != V16SImode)
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case V4SImode:
              if (!nonimmediate_operand (operands[1], V4SImode)
                  || !
#line 17554 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return -1;
              return 4183; /* *avx512f_broadcastv16si */

            case SImode:
              if (!nonimmediate_operand (operands[1], SImode)
                  || !
#line 17590 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return -1;
              return 4201; /* *avx512f_vec_dup_gprv16si */

            case V8SImode:
              if (!nonimmediate_operand (operands[1], V8SImode)
                  || !
#line 17800 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ))
                return -1;
              return 4264; /* *avx512dq_broadcastv16si_1 */

            default:
              return -1;
            }

        case V8DFmode:
          if (!register_operand (operands[0], V8DFmode)
              || GET_MODE (x3) != V8DFmode)
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case V4DFmode:
              if (!nonimmediate_operand (operands[1], V4DFmode)
                  || !
#line 17566 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return -1;
              return 4185; /* *avx512f_broadcastv8df */

            case DFmode:
              if (!nonimmediate_operand (operands[1], DFmode)
                  || !
#line 17590 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return -1;
              return 4219; /* *avx512f_vec_dup_gprv8df */

            case V2DFmode:
              if (!nonimmediate_operand (operands[1], V2DFmode)
                  || !
#line 17817 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ))
                return -1;
              return 4268; /* *avx512dq_broadcastv8df_1 */

            default:
              return -1;
            }

        case V8DImode:
          if (!register_operand (operands[0], V8DImode)
              || GET_MODE (x3) != V8DImode)
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case V4DImode:
              if (!nonimmediate_operand (operands[1], V4DImode)
                  || !
#line 17566 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return -1;
              return 4187; /* *avx512f_broadcastv8di */

            case DImode:
              if (!nonimmediate_operand (operands[1], DImode)
                  || !
#line 17590 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return -1;
              return 4207; /* *avx512f_vec_dup_gprv8di */

            case V2DImode:
              if (!nonimmediate_operand (operands[1], V2DImode)
                  || !
#line 17817 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ))
                return -1;
              return 4266; /* *avx512dq_broadcastv8di_1 */

            default:
              return -1;
            }

        case V64QImode:
          if (!register_operand (operands[0], V64QImode)
              || GET_MODE (x3) != V64QImode
              || !nonimmediate_operand (operands[1], QImode)
              || !
#line 17578 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
            return -1;
          return 4189; /* *avx512bw_vec_dup_gprv64qi */

        case V16QImode:
          if (!register_operand (operands[0], V16QImode)
              || GET_MODE (x3) != V16QImode
              || !nonimmediate_operand (operands[1], QImode))
            return -1;
          if ((
#line 17578 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return 4191; /* *avx512vl_vec_dup_gprv16qi */
          if (!
#line 17675 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))
            return -1;
          return 4233; /* *vec_dupv16qi */

        case V32QImode:
          if (!register_operand (operands[0], V32QImode)
              || GET_MODE (x3) != V32QImode
              || !nonimmediate_operand (operands[1], QImode))
            return -1;
          if ((
#line 17578 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return 4193; /* *avx512vl_vec_dup_gprv32qi */
          if (!
#line 17675 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))
            return -1;
          return 4232; /* *vec_dupv32qi */

        case V32HImode:
          if (!register_operand (operands[0], V32HImode)
              || GET_MODE (x3) != V32HImode
              || !nonimmediate_operand (operands[1], HImode)
              || !
#line 17578 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
            return -1;
          return 4195; /* *avx512bw_vec_dup_gprv32hi */

        case V16HImode:
          if (!register_operand (operands[0], V16HImode)
              || GET_MODE (x3) != V16HImode
              || !nonimmediate_operand (operands[1], HImode))
            return -1;
          if ((
#line 17578 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return 4197; /* *avx512vl_vec_dup_gprv16hi */
          if (!
#line 17675 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))
            return -1;
          return 4234; /* *vec_dupv16hi */

        case V8HImode:
          if (!register_operand (operands[0], V8HImode)
              || GET_MODE (x3) != V8HImode
              || !nonimmediate_operand (operands[1], HImode))
            return -1;
          if ((
#line 17578 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return 4199; /* *avx512vl_vec_dup_gprv8hi */
          if (!
#line 17675 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))
            return -1;
          return 4235; /* *vec_dupv8hi */

        case V8SImode:
          if (!register_operand (operands[0], V8SImode)
              || GET_MODE (x3) != V8SImode)
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case SImode:
              if (!nonimmediate_operand (operands[1], SImode))
                return -1;
              if ((
#line 17590 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 184 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return 4203; /* *avx512vl_vec_dup_gprv8si */
              if (
#line 17675 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))
                return 4236; /* *vec_dupv8si */
              if (!
#line 17690 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
                return -1;
              return 4238; /* vec_dupv8si */

            case V4SImode:
              if (!nonimmediate_operand (operands[1], V4SImode)
                  || !
#line 17787 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
                return -1;
              return 4258; /* *avx512vl_broadcastv8si_1 */

            default:
              return -1;
            }

        case V4SImode:
          if (!register_operand (operands[0], V4SImode)
              || GET_MODE (x3) != V4SImode
              || !nonimmediate_operand (operands[1], SImode))
            return -1;
          if ((
#line 17590 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 184 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return 4205; /* *avx512vl_vec_dup_gprv4si */
          if (
#line 17621 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE))
            return 4226; /* *vec_dupv4si */
          if (!
#line 17675 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2))
            return -1;
          return 4237; /* *vec_dupv4si */

        case V4DImode:
          if (!register_operand (operands[0], V4DImode)
              || GET_MODE (x3) != V4DImode)
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case DImode:
              if (!nonimmediate_operand (operands[1], DImode))
                return -1;
              if ((
#line 17590 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 185 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return 4209; /* *avx512vl_vec_dup_gprv4di */
              if (!
#line 17690 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
                return -1;
              return 4240; /* vec_dupv4di */

            case V2DImode:
              if (!nonimmediate_operand (operands[1], V2DImode)
                  || !(
#line 17817 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 17811 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 4270; /* *avx512dq_broadcastv4di_1 */

            default:
              return -1;
            }

        case V2DImode:
          if (!register_operand (operands[0], V2DImode)
              || GET_MODE (x3) != V2DImode
              || !nonimmediate_operand (operands[1], DImode))
            return -1;
          if ((
#line 17590 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 185 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return 4211; /* *avx512vl_vec_dup_gprv2di */
          if (!
#line 17637 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE))
            return -1;
          return 4227; /* *vec_dupv2di */

        case V8SFmode:
          if (!register_operand (operands[0], V8SFmode)
              || GET_MODE (x3) != V8SFmode)
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case SFmode:
              if (!nonimmediate_operand (operands[1], SFmode))
                return -1;
              if ((
#line 17590 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return 4215; /* *avx512vl_vec_dup_gprv8sf */
              if (!
#line 17690 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
                return -1;
              return 4239; /* vec_dupv8sf */

            case V4SFmode:
              if (!nonimmediate_operand (operands[1], V4SFmode)
                  || !
#line 17787 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
                return -1;
              return 4260; /* *avx512vl_broadcastv8sf_1 */

            default:
              return -1;
            }

        case V4SFmode:
          if (!register_operand (operands[0], V4SFmode)
              || GET_MODE (x3) != V4SFmode
              || !nonimmediate_operand (operands[1], SFmode))
            return -1;
          if ((
#line 17590 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return 4217; /* *avx512vl_vec_dup_gprv4sf */
          if (!
#line 17605 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE))
            return -1;
          return 4225; /* vec_dupv4sf */

        case V4DFmode:
          if (!register_operand (operands[0], V4DFmode)
              || GET_MODE (x3) != V4DFmode)
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case DFmode:
              if (!nonimmediate_operand (operands[1], DFmode))
                return -1;
              if ((
#line 17590 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 187 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return 4221; /* *avx512vl_vec_dup_gprv4df */
              if (!
#line 17690 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
                return -1;
              return 4241; /* vec_dupv4df */

            case V2DFmode:
              if (!nonimmediate_operand (operands[1], V2DFmode)
                  || !(
#line 17817 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 17811 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 4272; /* *avx512dq_broadcastv4df_1 */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case ZERO_EXTEND:
      x5 = XEXP (x4, 0);
      operands[1] = x5;
      switch (GET_MODE (operands[0]))
        {
        case V8DImode:
          if (pattern248 (x3, QImode, DImode, V8DImode) != 0
              || !
#line 17831 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512CD))
            return -1;
          return 4274; /* avx512cd_maskb_vec_dupv8di */

        case V4DImode:
          if (pattern248 (x3, QImode, DImode, V4DImode) != 0
              || !(
#line 17831 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512CD) && 
#line 317 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4275; /* avx512cd_maskb_vec_dupv4di */

        case V2DImode:
          if (pattern248 (x3, QImode, DImode, V2DImode) != 0
              || !(
#line 17831 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512CD) && 
#line 317 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4276; /* avx512cd_maskb_vec_dupv2di */

        case V16SImode:
          if (pattern248 (x3, HImode, SImode, V16SImode) != 0
              || !
#line 17842 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512CD))
            return -1;
          return 4277; /* avx512cd_maskw_vec_dupv16si */

        case V8SImode:
          if (pattern248 (x3, HImode, SImode, V8SImode) != 0
              || !(
#line 17842 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512CD) && 
#line 344 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4278; /* avx512cd_maskw_vec_dupv8si */

        case V4SImode:
          if (pattern248 (x3, HImode, SImode, V4SImode) != 0
              || !(
#line 17842 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512CD) && 
#line 344 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 4279; /* avx512cd_maskw_vec_dupv4si */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_169 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) != PARALLEL)
    return -1;
  x4 = XEXP (x1, 0);
  operands[0] = x4;
  x5 = XEXP (x2, 0);
  switch (GET_CODE (x5))
    {
    case VEC_CONCAT:
      x6 = XEXP (x5, 0);
      operands[1] = x6;
      switch (XVECLEN (x3, 0))
        {
        case 4:
          res = recog_140 (x1, insn, pnum_clobbers);
          if (res >= 0)
            return res;
          break;

        case 16:
          res = recog_142 (x1, insn, pnum_clobbers);
          if (res >= 0)
            return res;
          break;

        case 8:
          res = recog_144 (x1, insn, pnum_clobbers);
          if (res >= 0)
            return res;
          break;

        case 2:
          res = recog_146 (x1, insn, pnum_clobbers);
          if (res >= 0)
            return res;
          break;

        case 64:
          res = recog_147 (x1, insn, pnum_clobbers);
          if (res >= 0)
            return res;
          break;

        case 32:
          res = recog_148 (x1, insn, pnum_clobbers);
          if (res >= 0)
            return res;
          break;

        default:
          break;
        }
      if (XVECLEN (x3, 0) < 1)
        return -1;
      operands[3] = x3;
      x7 = XEXP (x5, 1);
      operands[2] = x7;
      x8 = XVECEXP (x3, 0, 0);
      operands[4] = x8;
      if (!const_int_operand (operands[4], VOIDmode))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case V8SImode:
          if (pattern467 (x2, V8SImode, V16SImode) != 0
              || !
#line 18334 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX
   && avx_vperm2f128_parallel (operands[3], V8SImode)))
            return -1;
          return 4418; /* *avx_vperm2f128v8si_nozero */

        case V8SFmode:
          if (pattern467 (x2, V8SFmode, V16SFmode) != 0
              || !
#line 18334 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX
   && avx_vperm2f128_parallel (operands[3], V8SFmode)))
            return -1;
          return 4419; /* *avx_vperm2f128v8sf_nozero */

        case V4DFmode:
          if (pattern467 (x2, V4DFmode, V8DFmode) != 0
              || !
#line 18334 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX
   && avx_vperm2f128_parallel (operands[3], V4DFmode)))
            return -1;
          return 4420; /* *avx_vperm2f128v4df_nozero */

        default:
          return -1;
        }

    case REG:
    case SUBREG:
    case MEM:
      operands[1] = x5;
      switch (XVECLEN (x3, 0))
        {
        case 2:
          res = recog_149 (x1, insn, pnum_clobbers);
          if (res >= 0)
            return res;
          break;

        case 4:
          res = recog_151 (x1, insn, pnum_clobbers);
          if (res >= 0)
            return res;
          break;

        case 8:
          res = recog_154 (x1, insn, pnum_clobbers);
          if (res >= 0)
            return res;
          break;

        case 16:
          res = recog_158 (x1, insn, pnum_clobbers);
          if (res >= 0)
            return res;
          break;

        case 32:
          res = recog_159 (x1, insn, pnum_clobbers);
          if (res >= 0)
            return res;
          break;

        default:
          break;
        }
      if (XVECLEN (x3, 0) < 1)
        return -1;
      operands[2] = x3;
      x8 = XVECEXP (x3, 0, 0);
      operands[3] = x8;
      if (!const_int_operand (operands[3], VOIDmode))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case V4SFmode:
          if (!register_operand (operands[0], V4SFmode)
              || GET_MODE (x2) != V4SFmode)
            return -1;
          if (nonimmediate_operand (operands[1], V4SFmode))
            {
              if (avx_vbroadcast_operand (operands[2], VOIDmode)
                  && 
#line 17857 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
                return 4280; /* *avx_vperm_broadcast_v4sf */
              if (
#line 17989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && 1
   && avx_vpermilp_parallel (operands[2], V4SFmode)))
                return 4287; /* *avx_vpermilpv4sf */
            }
          if (!register_operand (operands[1], V4SFmode)
              || !palignr_operand (operands[2], VOIDmode)
              || !
#line 18357 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3))
            return -1;
          return 4425; /* *ssse3_palignrv4sf_perm */

        case V8SFmode:
          if (!register_operand (operands[0], V8SFmode)
              || GET_MODE (x2) != V8SFmode
              || !nonimmediate_operand (operands[1], V8SFmode))
            return -1;
          if (avx_vbroadcast_operand (operands[2], VOIDmode)
              && 
#line 17885 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
            return 4281; /* *avx_vperm_broadcast_v8sf */
          if (!(
#line 17989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && 1
   && avx_vpermilp_parallel (operands[2], V8SFmode)) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return -1;
          return 4285; /* *avx_vpermilpv8sf */

        case V4DFmode:
          if (!register_operand (operands[0], V4DFmode)
              || GET_MODE (x2) != V4DFmode
              || !nonimmediate_operand (operands[1], V4DFmode))
            return -1;
          if (avx_vbroadcast_operand (operands[2], VOIDmode)
              && 
#line 17885 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
            return 4282; /* *avx_vperm_broadcast_v4df */
          if (!(
#line 17989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && 1
   && avx_vpermilp_parallel (operands[2], V4DFmode)) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return -1;
          return 4291; /* *avx_vpermilpv4df */

        case V16SFmode:
          if (!register_operand (operands[0], V16SFmode)
              || GET_MODE (x2) != V16SFmode
              || !nonimmediate_operand (operands[1], V16SFmode)
              || !(
#line 17989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && 1
   && avx_vpermilp_parallel (operands[2], V16SFmode)) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
            return -1;
          return 4283; /* *avx512f_vpermilpv16sf */

        case V8DFmode:
          if (!register_operand (operands[0], V8DFmode)
              || GET_MODE (x2) != V8DFmode
              || !nonimmediate_operand (operands[1], V8DFmode)
              || !(
#line 17989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && 1
   && avx_vpermilp_parallel (operands[2], V8DFmode)) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
            return -1;
          return 4289; /* *avx512f_vpermilpv8df */

        case V2DFmode:
          if (!register_operand (operands[0], V2DFmode)
              || GET_MODE (x2) != V2DFmode)
            return -1;
          if (nonimmediate_operand (operands[1], V2DFmode)
              && (
#line 17989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && 1
   && avx_vpermilp_parallel (operands[2], V2DFmode)) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
            return 4293; /* *avx_vpermilpv2df */
          if (!register_operand (operands[1], V2DFmode)
              || !palignr_operand (operands[2], VOIDmode)
              || !(
#line 18357 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3) && 
#line 208 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
            return -1;
          return 4426; /* *ssse3_palignrv2df_perm */

        case V16QImode:
          if (pattern543 (x2, V16QImode) != 0
              || !
#line 18357 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3))
            return -1;
          return 4421; /* *ssse3_palignrv16qi_perm */

        case V8HImode:
          if (pattern543 (x2, V8HImode) != 0
              || !
#line 18357 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3))
            return -1;
          return 4422; /* *ssse3_palignrv8hi_perm */

        case V4SImode:
          if (pattern543 (x2, V4SImode) != 0
              || !
#line 18357 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3))
            return -1;
          return 4423; /* *ssse3_palignrv4si_perm */

        case V2DImode:
          if (pattern543 (x2, V2DImode) != 0
              || !
#line 18357 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3))
            return -1;
          return 4424; /* *ssse3_palignrv2di_perm */

        default:
          return -1;
        }

    case UNSPEC:
      if (XVECLEN (x3, 0) != 4
          || pattern247 (x3) != 0)
        return -1;
      switch (XVECLEN (x5, 0))
        {
        case 1:
          if (XINT (x5, 1) != 142
              || GET_MODE (x5) != V8SFmode
              || !register_operand (operands[0], V4SFmode)
              || GET_MODE (x2) != V4SFmode)
            return -1;
          x9 = XVECEXP (x5, 0, 0);
          operands[1] = x9;
          if (!register_operand (operands[1], V8HImode)
              || !
#line 18854 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_F16C || TARGET_AVX512VL))
            return -1;
          return 4532; /* vcvtph2ps */

        case 4:
          if (pnum_clobbers == NULL
              || XINT (x5, 1) != 146)
            return -1;
          x10 = XVECEXP (x5, 0, 1);
          if (GET_CODE (x10) != MEM)
            return -1;
          x11 = XEXP (x10, 0);
          if (GET_CODE (x11) != UNSPEC
              || XVECLEN (x11, 0) != 3
              || XINT (x11, 1) != 147)
            return -1;
          x12 = XVECEXP (x5, 0, 2);
          if (GET_CODE (x12) != MEM
              || GET_MODE (x12) != BLKmode)
            return -1;
          x13 = XEXP (x12, 0);
          if (GET_CODE (x13) != SCRATCH)
            return -1;
          x14 = XVECEXP (x11, 0, 1);
          if (!register_operand (x14, V4DImode))
            return -1;
          x15 = XVECEXP (x11, 0, 2);
          if (!const1248_operand (x15, SImode))
            return -1;
          x9 = XVECEXP (x5, 0, 0);
          switch (GET_CODE (x9))
            {
            case REG:
            case SUBREG:
              operands[2] = x9;
              operands[7] = x10;
              x16 = XVECEXP (x11, 0, 0);
              operands[3] = x16;
              operands[4] = x14;
              operands[6] = x15;
              x17 = XVECEXP (x5, 0, 3);
              operands[5] = x17;
              switch (GET_MODE (operands[0]))
                {
                case V4SImode:
                  switch (pattern960 (x2, V4SImode, SImode, V8SImode))
                    {
                    case 0:
                      if (!(
#line 19127 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4613; /* *avx2_gatherdiv8si_3 */

                    case 1:
                      if (!(
#line 19127 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4614; /* *avx2_gatherdiv8si_3 */

                    default:
                      return -1;
                    }

                case V4SFmode:
                  switch (pattern960 (x2, V4SFmode, SFmode, V8SFmode))
                    {
                    case 0:
                      if (!(
#line 19127 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4615; /* *avx2_gatherdiv8sf_3 */

                    case 1:
                      if (!(
#line 19127 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4616; /* *avx2_gatherdiv8sf_3 */

                    default:
                      return -1;
                    }

                default:
                  return -1;
                }

            case PC:
              operands[6] = x10;
              x16 = XVECEXP (x11, 0, 0);
              operands[2] = x16;
              operands[3] = x14;
              operands[5] = x15;
              x17 = XVECEXP (x5, 0, 3);
              operands[4] = x17;
              switch (GET_MODE (operands[0]))
                {
                case V4SImode:
                  switch (pattern950 (x2, V4SImode, SImode, V8SImode))
                    {
                    case 0:
                      if (!(
#line 19150 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4617; /* *avx2_gatherdiv8si_4 */

                    case 1:
                      if (!(
#line 19150 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4618; /* *avx2_gatherdiv8si_4 */

                    default:
                      return -1;
                    }

                case V4SFmode:
                  switch (pattern950 (x2, V4SFmode, SFmode, V8SFmode))
                    {
                    case 0:
                      if (!(
#line 19150 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4619; /* *avx2_gatherdiv8sf_4 */

                    case 1:
                      if (!(
#line 19150 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                        return -1;
                      *pnum_clobbers = 1;
                      return 4620; /* *avx2_gatherdiv8sf_4 */

                    default:
                      return -1;
                    }

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_170 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  x5 = XEXP (x3, 1);
  operands[2] = x5;
  switch (GET_MODE (operands[0]))
    {
    case V16HImode:
      if (!register_operand (operands[0], V16HImode)
          || GET_MODE (x3) != V16HImode)
        return -1;
      if (nonimmediate_operand (operands[1], V16HImode)
          && nonmemory_operand (operands[2], DImode)
          && (
#line 10630 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 417 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
        return 3092; /* *ashrv16hi3 */
      if (!register_operand (operands[1], V16HImode))
        return -1;
      if (nonmemory_operand (operands[2], DImode)
          && (
#line 10644 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2) && 
#line 386 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
        return 3100; /* ashrv16hi3 */
      if (!nonimmediate_operand (operands[2], V16HImode)
          || !(
#line 18754 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 351 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 4480; /* avx512vl_ashrvv16hi */

    case V8HImode:
      if (!register_operand (operands[0], V8HImode)
          || GET_MODE (x3) != V8HImode)
        return -1;
      if (nonimmediate_operand (operands[1], V8HImode)
          && nonmemory_operand (operands[2], DImode)
          && (
#line 10630 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 417 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
        return 3094; /* *ashrv8hi3 */
      if (!register_operand (operands[1], V8HImode))
        return -1;
      if (nonmemory_operand (operands[2], DImode)
          && 
#line 10644 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))
        return 3101; /* ashrv8hi3 */
      if (!nonimmediate_operand (operands[2], V8HImode)
          || !(
#line 18754 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 351 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 4478; /* avx512vl_ashrvv8hi */

    case V8SImode:
      if (!register_operand (operands[0], V8SImode)
          || GET_MODE (x3) != V8SImode)
        return -1;
      if (nonimmediate_operand (operands[1], V8SImode)
          && nonmemory_operand (operands[2], DImode)
          && 
#line 10630 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
        return 3096; /* *ashrv8si3 */
      if (!register_operand (operands[1], V8SImode))
        return -1;
      if (nonmemory_operand (operands[2], DImode)
          && (
#line 10644 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2) && 
#line 387 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
        return 3102; /* ashrv8si3 */
      if (!nonimmediate_operand (operands[2], V8SImode)
          || !
#line 18743 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && 1))
        return -1;
      return 4468; /* avx2_ashrvv8si */

    case V4SImode:
      if (!register_operand (operands[0], V4SImode)
          || GET_MODE (x3) != V4SImode)
        return -1;
      if (nonimmediate_operand (operands[1], V4SImode)
          && nonmemory_operand (operands[2], DImode)
          && 
#line 10630 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
        return 3098; /* *ashrv4si3 */
      if (!register_operand (operands[1], V4SImode))
        return -1;
      if (nonmemory_operand (operands[2], DImode)
          && 
#line 10644 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))
        return 3103; /* ashrv4si3 */
      if (!nonimmediate_operand (operands[2], V4SImode)
          || !
#line 18743 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && 1))
        return -1;
      return 4466; /* avx2_ashrvv4si */

    case V2DImode:
      if (!register_operand (operands[0], V2DImode)
          || GET_MODE (x3) != V2DImode)
        return -1;
      if (nonimmediate_operand (operands[1], V2DImode)
          && nonmemory_operand (operands[2], DImode)
          && 
#line 10663 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
        return 3104; /* *ashrv2di3 */
      if (!register_operand (operands[1], V2DImode)
          || !nonimmediate_operand (operands[2], V2DImode)
          || !(
#line 18743 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && 1) && 
#line 348 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 4472; /* avx2_ashrvv2di */

    case V32HImode:
      if (!register_operand (operands[0], V32HImode)
          || GET_MODE (x3) != V32HImode)
        return -1;
      if (nonimmediate_operand (operands[1], V32HImode)
          && nonmemory_operand (operands[2], DImode)
          && (
#line 10677 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 412 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
        return 3106; /* ashrv32hi3 */
      if (!register_operand (operands[1], V32HImode)
          || !nonimmediate_operand (operands[2], V32HImode)
          || !
#line 18754 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
        return -1;
      return 4482; /* avx512bw_ashrvv32hi */

    case V4DImode:
      if (!register_operand (operands[0], V4DImode)
          || GET_MODE (x3) != V4DImode)
        return -1;
      if (nonimmediate_operand (operands[1], V4DImode)
          && nonmemory_operand (operands[2], DImode)
          && (
#line 10677 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 413 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return 3108; /* ashrv4di3 */
      if (!register_operand (operands[1], V4DImode)
          || !nonimmediate_operand (operands[2], V4DImode)
          || !(
#line 18743 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && 1) && 
#line 348 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 4474; /* avx2_ashrvv4di */

    case V16SImode:
      if (!register_operand (operands[0], V16SImode)
          || GET_MODE (x3) != V16SImode)
        return -1;
      if (nonimmediate_operand (operands[1], V16SImode)
          && nonmemory_operand (operands[2], DImode)
          && 
#line 10677 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
        return 3110; /* ashrv16si3 */
      if (!register_operand (operands[1], V16SImode)
          || !nonimmediate_operand (operands[2], V16SImode)
          || !(
#line 18743 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && 1) && 
#line 347 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
        return -1;
      return 4470; /* avx512f_ashrvv16si */

    case V8DImode:
      if (!register_operand (operands[0], V8DImode)
          || GET_MODE (x3) != V8DImode)
        return -1;
      if (nonimmediate_operand (operands[1], V8DImode)
          && nonmemory_operand (operands[2], DImode)
          && 
#line 10677 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
        return 3112; /* ashrv8di3 */
      if (!register_operand (operands[1], V8DImode)
          || !nonimmediate_operand (operands[2], V8DImode)
          || !(
#line 18743 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && 1) && 
#line 348 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
        return -1;
      return 4476; /* avx512f_ashrvv8di */

    default:
      return -1;
    }
}

static int
recog_171 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 1);
  operands[2] = x4;
  x5 = XEXP (x3, 0);
  switch (GET_CODE (x5))
    {
    case NOT:
      x6 = XEXP (x5, 0);
      operands[1] = x6;
      switch (GET_MODE (operands[0]))
        {
        case V8SFmode:
          if (pattern292 (x3, V8SFmode) != 0
              || !(
#line 3023 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && 1) && 
#line 230 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return -1;
          return 1729; /* avx_andnotv8sf3 */

        case V4SFmode:
          if (pattern292 (x3, V4SFmode) != 0
              || !
#line 3023 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && 1))
            return -1;
          return 1731; /* sse_andnotv4sf3 */

        case V4DFmode:
          if (pattern292 (x3, V4DFmode) != 0
              || !(
#line 3023 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && 1) && 
#line 231 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return -1;
          return 1733; /* avx_andnotv4df3 */

        case V2DFmode:
          if (pattern292 (x3, V2DFmode) != 0
              || !(
#line 3023 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && 1) && 
#line 231 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
            return -1;
          return 1735; /* sse2_andnotv2df3 */

        case V16SFmode:
          if (pattern290 (x3, V16SFmode) != 0
              || !
#line 3089 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 1737; /* avx512f_andnotv16sf3 */

        case V8DFmode:
          if (pattern290 (x3, V8DFmode) != 0
              || !
#line 3089 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 1739; /* avx512f_andnotv8df3 */

        case V16SImode:
          if (pattern292 (x3, V16SImode) != 0
              || !(
#line 11527 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 286 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
            return -1;
          return 3396; /* *andnotv16si3 */

        case V8DImode:
          if (pattern292 (x3, V8DImode) != 0
              || !(
#line 11527 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 286 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
            return -1;
          return 3397; /* *andnotv8di3 */

        case V64QImode:
          if (pattern292 (x3, V64QImode) != 0
              || !(
#line 11527 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 287 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 3398; /* *andnotv64qi3 */

        case V32QImode:
          if (pattern292 (x3, V32QImode) != 0
              || !(
#line 11527 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 287 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return -1;
          return 3399; /* *andnotv32qi3 */

        case V16QImode:
          if (pattern292 (x3, V16QImode) != 0
              || !
#line 11527 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE))
            return -1;
          return 3400; /* *andnotv16qi3 */

        case V32HImode:
          if (pattern292 (x3, V32HImode) != 0
              || !(
#line 11527 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 288 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 3401; /* *andnotv32hi3 */

        case V16HImode:
          if (pattern292 (x3, V16HImode) != 0
              || !(
#line 11527 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 288 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return -1;
          return 3402; /* *andnotv16hi3 */

        case V8HImode:
          if (pattern292 (x3, V8HImode) != 0
              || !
#line 11527 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE))
            return -1;
          return 3403; /* *andnotv8hi3 */

        case V8SImode:
          if (pattern292 (x3, V8SImode) != 0
              || !(
#line 11527 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 289 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return -1;
          return 3404; /* *andnotv8si3 */

        case V4SImode:
          if (pattern292 (x3, V4SImode) != 0
              || !
#line 11527 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE))
            return -1;
          return 3405; /* *andnotv4si3 */

        case V4DImode:
          if (pattern292 (x3, V4DImode) != 0
              || !(
#line 11527 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 290 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return -1;
          return 3406; /* *andnotv4di3 */

        case V2DImode:
          if (pattern292 (x3, V2DImode) != 0
              || !
#line 11527 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE))
            return -1;
          return 3407; /* *andnotv2di3 */

        default:
          return -1;
        }

    case REG:
    case SUBREG:
    case MEM:
      operands[1] = x5;
      switch (GET_MODE (operands[0]))
        {
        case V8SFmode:
          if (pattern14 (x3, V8SFmode) != 0
              || !(
#line 3138 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && 1
   && ix86_binary_operator_ok (AND, V8SFmode, operands)) && 
#line 230 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return -1;
          return 1741; /* *andv8sf3 */

        case V4SFmode:
          if (pattern14 (x3, V4SFmode) != 0
              || !
#line 3138 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && 1
   && ix86_binary_operator_ok (AND, V4SFmode, operands)))
            return -1;
          return 1747; /* *andv4sf3 */

        case V4DFmode:
          if (pattern14 (x3, V4DFmode) != 0
              || !(
#line 3138 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && 1
   && ix86_binary_operator_ok (AND, V4DFmode, operands)) && 
#line 231 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return -1;
          return 1753; /* *andv4df3 */

        case V2DFmode:
          if (pattern14 (x3, V2DFmode) != 0
              || !(
#line 3138 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && 1
   && ix86_binary_operator_ok (AND, V2DFmode, operands)) && 
#line 231 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
            return -1;
          return 1759; /* *andv2df3 */

        case V16SFmode:
          if (pattern7 (x3, V16SFmode) != 0
              || !
#line 3203 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (AND, V16SFmode, operands)))
            return -1;
          return 1765; /* *andv16sf3 */

        case V8DFmode:
          if (pattern7 (x3, V8DFmode) != 0
              || !
#line 3203 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (AND, V8DFmode, operands)))
            return -1;
          return 1771; /* *andv8df3 */

        case V16SImode:
          if (pattern14 (x3, V16SImode) != 0
              || !(
#line 11656 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && 1
   && ix86_binary_operator_ok (AND, V16SImode, operands)) && 
#line 425 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
            return -1;
          return 3414; /* *andv16si3 */

        case V8SImode:
          if (pattern14 (x3, V8SImode) != 0
              || !(
#line 11656 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && 1
   && ix86_binary_operator_ok (AND, V8SImode, operands)) && 
#line 425 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return -1;
          return 3420; /* *andv8si3 */

        case V4SImode:
          if (pattern14 (x3, V4SImode) != 0
              || !
#line 11656 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && 1
   && ix86_binary_operator_ok (AND, V4SImode, operands)))
            return -1;
          return 3426; /* *andv4si3 */

        case V8DImode:
          if (pattern14 (x3, V8DImode) != 0
              || !(
#line 11656 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && 1
   && ix86_binary_operator_ok (AND, V8DImode, operands)) && 
#line 426 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
            return -1;
          return 3432; /* *andv8di3 */

        case V4DImode:
          if (pattern14 (x3, V4DImode) != 0
              || !(
#line 11656 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && 1
   && ix86_binary_operator_ok (AND, V4DImode, operands)) && 
#line 426 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return -1;
          return 3438; /* *andv4di3 */

        case V2DImode:
          if (pattern14 (x3, V2DImode) != 0
              || !
#line 11656 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && 1
   && ix86_binary_operator_ok (AND, V2DImode, operands)))
            return -1;
          return 3444; /* *andv2di3 */

        case V64QImode:
          if (pattern14 (x3, V64QImode) != 0
              || !(
#line 11754 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (AND, V64QImode, operands)) && 
#line 429 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
            return -1;
          return 3450; /* *andv64qi3 */

        case V32QImode:
          if (pattern14 (x3, V32QImode) != 0
              || !(
#line 11754 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (AND, V32QImode, operands)) && 
#line 429 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return -1;
          return 3456; /* *andv32qi3 */

        case V16QImode:
          if (pattern14 (x3, V16QImode) != 0
              || !
#line 11754 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (AND, V16QImode, operands)))
            return -1;
          return 3462; /* *andv16qi3 */

        case V32HImode:
          if (pattern14 (x3, V32HImode) != 0
              || !(
#line 11754 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (AND, V32HImode, operands)) && 
#line 430 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
            return -1;
          return 3468; /* *andv32hi3 */

        case V16HImode:
          if (pattern14 (x3, V16HImode) != 0
              || !(
#line 11754 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (AND, V16HImode, operands)) && 
#line 430 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return -1;
          return 3474; /* *andv16hi3 */

        case V8HImode:
          if (pattern14 (x3, V8HImode) != 0
              || !
#line 11754 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (AND, V8HImode, operands)))
            return -1;
          return 3480; /* *andv8hi3 */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_172 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  operands[1] = x2;
  switch (GET_MODE (operands[0]))
    {
    case V64QImode:
      if (!nonimmediate_operand (operands[0], V64QImode)
          || !nonimmediate_or_sse_const_operand (operands[1], V64QImode)
          || !(
#line 855 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && (register_operand (operands[0], V64QImode)
       || register_operand (operands[1], V64QImode))) && 
#line 174 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
        return -1;
      return 1206; /* movv64qi_internal */

    case V32QImode:
      if (!nonimmediate_operand (operands[0], V32QImode)
          || !nonimmediate_or_sse_const_operand (operands[1], V32QImode)
          || !(
#line 855 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && (register_operand (operands[0], V32QImode)
       || register_operand (operands[1], V32QImode))) && 
#line 174 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
        return -1;
      return 1207; /* movv32qi_internal */

    case V16QImode:
      if (!nonimmediate_operand (operands[0], V16QImode)
          || !nonimmediate_or_sse_const_operand (operands[1], V16QImode)
          || !
#line 855 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && (register_operand (operands[0], V16QImode)
       || register_operand (operands[1], V16QImode))))
        return -1;
      return 1208; /* movv16qi_internal */

    case V32HImode:
      if (!nonimmediate_operand (operands[0], V32HImode)
          || !nonimmediate_or_sse_const_operand (operands[1], V32HImode)
          || !(
#line 855 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && (register_operand (operands[0], V32HImode)
       || register_operand (operands[1], V32HImode))) && 
#line 175 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
        return -1;
      return 1209; /* movv32hi_internal */

    case V16HImode:
      if (!nonimmediate_operand (operands[0], V16HImode)
          || !nonimmediate_or_sse_const_operand (operands[1], V16HImode)
          || !(
#line 855 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && (register_operand (operands[0], V16HImode)
       || register_operand (operands[1], V16HImode))) && 
#line 175 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
        return -1;
      return 1210; /* movv16hi_internal */

    case V8HImode:
      if (!nonimmediate_operand (operands[0], V8HImode)
          || !nonimmediate_or_sse_const_operand (operands[1], V8HImode)
          || !
#line 855 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && (register_operand (operands[0], V8HImode)
       || register_operand (operands[1], V8HImode))))
        return -1;
      return 1211; /* movv8hi_internal */

    case V16SImode:
      if (!nonimmediate_operand (operands[0], V16SImode)
          || !nonimmediate_or_sse_const_operand (operands[1], V16SImode)
          || !(
#line 855 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && (register_operand (operands[0], V16SImode)
       || register_operand (operands[1], V16SImode))) && 
#line 176 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
        return -1;
      return 1212; /* movv16si_internal */

    case V8SImode:
      if (!nonimmediate_operand (operands[0], V8SImode)
          || !nonimmediate_or_sse_const_operand (operands[1], V8SImode)
          || !(
#line 855 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && (register_operand (operands[0], V8SImode)
       || register_operand (operands[1], V8SImode))) && 
#line 176 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
        return -1;
      return 1213; /* movv8si_internal */

    case V4SImode:
      if (!nonimmediate_operand (operands[0], V4SImode)
          || !nonimmediate_or_sse_const_operand (operands[1], V4SImode)
          || !
#line 855 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && (register_operand (operands[0], V4SImode)
       || register_operand (operands[1], V4SImode))))
        return -1;
      return 1214; /* movv4si_internal */

    case V8DImode:
      if (!nonimmediate_operand (operands[0], V8DImode)
          || !nonimmediate_or_sse_const_operand (operands[1], V8DImode)
          || !(
#line 855 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && (register_operand (operands[0], V8DImode)
       || register_operand (operands[1], V8DImode))) && 
#line 177 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
        return -1;
      return 1215; /* movv8di_internal */

    case V4DImode:
      if (!nonimmediate_operand (operands[0], V4DImode)
          || !nonimmediate_or_sse_const_operand (operands[1], V4DImode)
          || !(
#line 855 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && (register_operand (operands[0], V4DImode)
       || register_operand (operands[1], V4DImode))) && 
#line 177 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
        return -1;
      return 1216; /* movv4di_internal */

    case V2DImode:
      if (!nonimmediate_operand (operands[0], V2DImode)
          || !nonimmediate_or_sse_const_operand (operands[1], V2DImode)
          || !
#line 855 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && (register_operand (operands[0], V2DImode)
       || register_operand (operands[1], V2DImode))))
        return -1;
      return 1217; /* movv2di_internal */

    case V4TImode:
      if (!nonimmediate_operand (operands[0], V4TImode)
          || !nonimmediate_or_sse_const_operand (operands[1], V4TImode)
          || !(
#line 855 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && (register_operand (operands[0], V4TImode)
       || register_operand (operands[1], V4TImode))) && 
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
        return -1;
      return 1218; /* movv4ti_internal */

    case V2TImode:
      if (!nonimmediate_operand (operands[0], V2TImode)
          || !nonimmediate_or_sse_const_operand (operands[1], V2TImode)
          || !(
#line 855 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && (register_operand (operands[0], V2TImode)
       || register_operand (operands[1], V2TImode))) && 
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
        return -1;
      return 1219; /* movv2ti_internal */

    case V1TImode:
      if (!nonimmediate_operand (operands[0], V1TImode)
          || !nonimmediate_or_sse_const_operand (operands[1], V1TImode)
          || !
#line 855 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && (register_operand (operands[0], V1TImode)
       || register_operand (operands[1], V1TImode))))
        return -1;
      return 1220; /* movv1ti_internal */

    case V16SFmode:
      if (!nonimmediate_operand (operands[0], V16SFmode)
          || !nonimmediate_or_sse_const_operand (operands[1], V16SFmode)
          || !(
#line 855 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && (register_operand (operands[0], V16SFmode)
       || register_operand (operands[1], V16SFmode))) && 
#line 179 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
        return -1;
      return 1221; /* movv16sf_internal */

    case V8SFmode:
      if (!nonimmediate_operand (operands[0], V8SFmode)
          || !nonimmediate_or_sse_const_operand (operands[1], V8SFmode)
          || !(
#line 855 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && (register_operand (operands[0], V8SFmode)
       || register_operand (operands[1], V8SFmode))) && 
#line 179 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
        return -1;
      return 1222; /* movv8sf_internal */

    case V4SFmode:
      if (!nonimmediate_operand (operands[0], V4SFmode)
          || !nonimmediate_or_sse_const_operand (operands[1], V4SFmode)
          || !
#line 855 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && (register_operand (operands[0], V4SFmode)
       || register_operand (operands[1], V4SFmode))))
        return -1;
      return 1223; /* movv4sf_internal */

    case V8DFmode:
      if (!nonimmediate_operand (operands[0], V8DFmode)
          || !nonimmediate_or_sse_const_operand (operands[1], V8DFmode)
          || !(
#line 855 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && (register_operand (operands[0], V8DFmode)
       || register_operand (operands[1], V8DFmode))) && 
#line 180 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
        return -1;
      return 1224; /* movv8df_internal */

    case V4DFmode:
      if (!nonimmediate_operand (operands[0], V4DFmode)
          || !nonimmediate_or_sse_const_operand (operands[1], V4DFmode)
          || !(
#line 855 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && (register_operand (operands[0], V4DFmode)
       || register_operand (operands[1], V4DFmode))) && 
#line 180 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
        return -1;
      return 1225; /* movv4df_internal */

    case V2DFmode:
      if (!nonimmediate_operand (operands[0], V2DFmode)
          || !nonimmediate_or_sse_const_operand (operands[1], V2DFmode)
          || !
#line 855 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && (register_operand (operands[0], V2DFmode)
       || register_operand (operands[1], V2DFmode))))
        return -1;
      return 1226; /* movv2df_internal */

    default:
      return -1;
    }
}

static int
recog_173 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
    case MEM:
      operands[3] = x4;
      x5 = XEXP (x3, 1);
      operands[1] = x5;
      x6 = XEXP (x3, 2);
      operands[2] = x6;
      switch (GET_MODE (operands[0]))
        {
        case V32QImode:
          if (pattern390 (x3, V32QImode) != 0
              || !(
#line 16349 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP) && 
#line 199 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return -1;
          return 3995; /* xop_pcmov_v32qi256 */

        case V16QImode:
          if (pattern390 (x3, V16QImode) != 0
              || !
#line 16349 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
            return -1;
          return 3996; /* xop_pcmov_v16qi */

        case V16HImode:
          if (pattern390 (x3, V16HImode) != 0
              || !(
#line 16349 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP) && 
#line 200 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return -1;
          return 3997; /* xop_pcmov_v16hi256 */

        case V8HImode:
          if (pattern390 (x3, V8HImode) != 0
              || !
#line 16349 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
            return -1;
          return 3998; /* xop_pcmov_v8hi */

        case V16SImode:
          if (pattern390 (x3, V16SImode) != 0
              || !(
#line 16349 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP) && 
#line 201 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
            return -1;
          return 3999; /* xop_pcmov_v16si512 */

        case V8SImode:
          if (pattern390 (x3, V8SImode) != 0
              || !(
#line 16349 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP) && 
#line 201 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return -1;
          return 4000; /* xop_pcmov_v8si256 */

        case V4SImode:
          if (pattern390 (x3, V4SImode) != 0
              || !
#line 16349 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
            return -1;
          return 4001; /* xop_pcmov_v4si */

        case V8DImode:
          if (pattern390 (x3, V8DImode) != 0
              || !(
#line 16349 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP) && 
#line 202 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
            return -1;
          return 4002; /* xop_pcmov_v8di512 */

        case V4DImode:
          if (pattern390 (x3, V4DImode) != 0
              || !(
#line 16349 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP) && 
#line 202 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return -1;
          return 4003; /* xop_pcmov_v4di256 */

        case V2DImode:
          if (pattern390 (x3, V2DImode) != 0
              || !
#line 16349 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
            return -1;
          return 4004; /* xop_pcmov_v2di */

        case V16SFmode:
          if (pattern390 (x3, V16SFmode) != 0
              || !(
#line 16349 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP) && 
#line 203 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
            return -1;
          return 4005; /* xop_pcmov_v16sf512 */

        case V8SFmode:
          if (pattern390 (x3, V8SFmode) != 0
              || !(
#line 16349 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP) && 
#line 203 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return -1;
          return 4006; /* xop_pcmov_v8sf256 */

        case V4SFmode:
          if (pattern390 (x3, V4SFmode) != 0
              || !
#line 16349 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
            return -1;
          return 4007; /* xop_pcmov_v4sf */

        case V8DFmode:
          if (pattern390 (x3, V8DFmode) != 0
              || !(
#line 16349 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP) && 
#line 204 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
            return -1;
          return 4008; /* xop_pcmov_v8df512 */

        case V4DFmode:
          if (pattern390 (x3, V4DFmode) != 0
              || !(
#line 16349 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP) && 
#line 204 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return -1;
          return 4009; /* xop_pcmov_v4df256 */

        case V2DFmode:
          if (pattern390 (x3, V2DFmode) != 0
              || !(
#line 16349 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP) && 
#line 204 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
            return -1;
          return 4010; /* xop_pcmov_v2df */

        default:
          return -1;
        }

    case GE:
      x7 = XEXP (x4, 1);
      if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x8 = XEXP (x4, 0);
      operands[2] = x8;
      x5 = XEXP (x3, 1);
      switch (GET_CODE (x5))
        {
        case ROTATE:
          x6 = XEXP (x3, 2);
          if (GET_CODE (x6) != ROTATERT)
            return -1;
          x9 = XEXP (x6, 1);
          if (GET_CODE (x9) != NEG)
            return -1;
          x10 = XEXP (x5, 0);
          operands[1] = x10;
          x11 = XEXP (x5, 1);
          if (!rtx_equal_p (x11, operands[2]))
            return -1;
          switch (pattern545 (x3))
            {
            case 0:
              if (!
#line 16737 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
                return -1;
              return 4038; /* xop_vrotlv16qi3 */

            case 1:
              if (!
#line 16737 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
                return -1;
              return 4039; /* xop_vrotlv8hi3 */

            case 2:
              if (!
#line 16737 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
                return -1;
              return 4040; /* xop_vrotlv4si3 */

            case 3:
              if (!
#line 16737 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
                return -1;
              return 4041; /* xop_vrotlv2di3 */

            default:
              return -1;
            }

        case ASHIFT:
          x10 = XEXP (x5, 0);
          operands[1] = x10;
          x11 = XEXP (x5, 1);
          if (!rtx_equal_p (x11, operands[2]))
            return -1;
          x6 = XEXP (x3, 2);
          switch (GET_CODE (x6))
            {
            case ASHIFTRT:
              x9 = XEXP (x6, 1);
              if (GET_CODE (x9) != NEG)
                return -1;
              switch (pattern545 (x3))
                {
                case 0:
                  if (!
#line 16912 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
                    return -1;
                  return 4042; /* xop_shav16qi3 */

                case 1:
                  if (!
#line 16912 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
                    return -1;
                  return 4043; /* xop_shav8hi3 */

                case 2:
                  if (!
#line 16912 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
                    return -1;
                  return 4044; /* xop_shav4si3 */

                case 3:
                  if (!
#line 16912 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
                    return -1;
                  return 4045; /* xop_shav2di3 */

                default:
                  return -1;
                }

            case LSHIFTRT:
              x9 = XEXP (x6, 1);
              if (GET_CODE (x9) != NEG)
                return -1;
              switch (pattern545 (x3))
                {
                case 0:
                  if (!
#line 16931 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
                    return -1;
                  return 4046; /* xop_shlv16qi3 */

                case 1:
                  if (!
#line 16931 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
                    return -1;
                  return 4047; /* xop_shlv8hi3 */

                case 2:
                  if (!
#line 16931 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
                    return -1;
                  return 4048; /* xop_shlv4si3 */

                case 3:
                  if (!
#line 16931 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
                    return -1;
                  return 4049; /* xop_shlv2di3 */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_174 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
      switch (pattern41 (x3))
        {
        case 0:
          if (!
#line 9130 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2725; /* *avx512f_truncatev16siv16qi2 */

        case 1:
          if (!(
#line 9203 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 9195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 2761; /* *avx512vl_truncatev16hiv16qi2 */

        case 2:
          if (!
#line 9130 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2728; /* *avx512f_truncatev16siv16hi2 */

        case 3:
          if (!
#line 9130 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2731; /* *avx512f_truncatev8div8si2 */

        case 4:
          if (!
#line 9130 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2734; /* *avx512f_truncatev8div8hi2 */

        case 5:
          if (!
#line 9203 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2758; /* *avx512vl_truncatev8siv8hi2 */

        case 6:
          if (!
#line 9164 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
            return -1;
          return 2749; /* avx512bw_truncatev32hiv32qi2 */

        case 7:
          if (!
#line 9203 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2755; /* *avx512vl_truncatev4div4si2 */

        default:
          return -1;
        }

    case LSHIFTRT:
      x5 = XEXP (x4, 1);
      if (GET_CODE (x5) != CONST_INT)
        return -1;
      x6 = XEXP (x4, 0);
      switch (GET_CODE (x6))
        {
        case MULT:
          if (XWINT (x5, 0) != 16LL)
            return -1;
          x7 = XEXP (x6, 0);
          switch (GET_CODE (x7))
            {
            case SIGN_EXTEND:
              switch (pattern389 (x3, SIGN_EXTEND))
                {
                case 0:
                  if (!(
#line 10058 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (MULT, V32HImode, operands)
   && 1 && 1) && 
#line 329 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
                    return -1;
                  return 3048; /* *smulv32hi3_highpart */

                case 1:
                  if (!(
#line 10058 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (MULT, V16HImode, operands)
   && 1 && 1) && 
#line 329 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
                    return -1;
                  return 3052; /* *smulv16hi3_highpart */

                case 2:
                  if (!
#line 10058 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (MULT, V8HImode, operands)
   && 1 && 1))
                    return -1;
                  return 3056; /* *smulv8hi3_highpart */

                default:
                  return -1;
                }

            case ZERO_EXTEND:
              switch (pattern389 (x3, ZERO_EXTEND))
                {
                case 0:
                  if (!(
#line 10058 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (MULT, V32HImode, operands)
   && 1 && 1) && 
#line 329 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
                    return -1;
                  return 3050; /* *umulv32hi3_highpart */

                case 1:
                  if (!(
#line 10058 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (MULT, V16HImode, operands)
   && 1 && 1) && 
#line 329 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
                    return -1;
                  return 3054; /* *umulv16hi3_highpart */

                case 2:
                  if (!
#line 10058 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (MULT, V8HImode, operands)
   && 1 && 1))
                    return -1;
                  return 3058; /* *umulv8hi3_highpart */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case PLUS:
          if (XWINT (x5, 0) != 1LL)
            return -1;
          x7 = XEXP (x6, 0);
          switch (GET_CODE (x7))
            {
            case PLUS:
              x8 = XEXP (x7, 0);
              if (GET_CODE (x8) != ZERO_EXTEND)
                return -1;
              x9 = XEXP (x7, 1);
              if (GET_CODE (x9) != ZERO_EXTEND)
                return -1;
              x10 = XEXP (x8, 0);
              operands[1] = x10;
              x11 = XEXP (x9, 0);
              operands[2] = x11;
              x12 = XEXP (x6, 1);
              operands[3] = x12;
              switch (GET_MODE (operands[0]))
                {
                case V64QImode:
                  if (pattern674 (x3, V64QImode, V64HImode) != 0
                      || !(
#line 14019 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1
   && ix86_binary_operator_ok (PLUS, V64QImode, operands)) && 
#line 382 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
                    return -1;
                  return 3673; /* *avx512bw_uavgv64qi3 */

                case V32QImode:
                  if (pattern674 (x3, V32QImode, V32HImode) != 0
                      || !(
#line 14019 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1
   && ix86_binary_operator_ok (PLUS, V32QImode, operands)) && 
#line 382 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
                    return -1;
                  return 3675; /* *avx2_uavgv32qi3 */

                case V16QImode:
                  if (pattern674 (x3, V16QImode, V16HImode) != 0
                      || !
#line 14019 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1
   && ix86_binary_operator_ok (PLUS, V16QImode, operands)))
                    return -1;
                  return 3677; /* *sse2_uavgv16qi3 */

                case V32HImode:
                  if (pattern674 (x3, V32HImode, V32SImode) != 0
                      || !(
#line 14019 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1
   && ix86_binary_operator_ok (PLUS, V32HImode, operands)) && 
#line 383 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
                    return -1;
                  return 3679; /* *avx512bw_uavgv32hi3 */

                case V16HImode:
                  if (pattern674 (x3, V16HImode, V16SImode) != 0
                      || !(
#line 14019 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1
   && ix86_binary_operator_ok (PLUS, V16HImode, operands)) && 
#line 383 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
                    return -1;
                  return 3681; /* *avx2_uavgv16hi3 */

                case V8HImode:
                  if (pattern674 (x3, V8HImode, V8SImode) != 0
                      || !
#line 14019 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1
   && ix86_binary_operator_ok (PLUS, V8HImode, operands)))
                    return -1;
                  return 3683; /* *sse2_uavgv8hi3 */

                default:
                  return -1;
                }

            case LSHIFTRT:
              x8 = XEXP (x7, 0);
              if (GET_CODE (x8) != MULT)
                return -1;
              x10 = XEXP (x8, 0);
              if (GET_CODE (x10) != SIGN_EXTEND)
                return -1;
              x13 = XEXP (x8, 1);
              if (GET_CODE (x13) != SIGN_EXTEND)
                return -1;
              x9 = XEXP (x7, 1);
              if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 14])
                return -1;
              x14 = XEXP (x10, 0);
              operands[1] = x14;
              if (nonimmediate_operand (operands[1], V32HImode))
                {
                  res = recog_161 (x1, insn, pnum_clobbers);
                  if (res >= 0)
                    return res;
                }
              x15 = XEXP (x13, 0);
              operands[2] = x15;
              x12 = XEXP (x6, 1);
              operands[3] = x12;
              switch (GET_MODE (operands[0]))
                {
                case V32HImode:
                  if (pattern730 (x3, V32HImode, V32SImode) != 0
                      || !(
#line 14693 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3 && 1 && 1
   && ix86_binary_operator_ok (MULT, V32HImode, operands)) && 
#line 329 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
                    return -1;
                  return 3737; /* *avx512bw_pmulhrswv32hi3 */

                case V16HImode:
                  if (pattern730 (x3, V16HImode, V16SImode) != 0
                      || !(
#line 14693 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3 && 1 && 1
   && ix86_binary_operator_ok (MULT, V16HImode, operands)) && 
#line 329 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
                    return -1;
                  return 3739; /* *avx2_pmulhrswv16hi3 */

                case V8HImode:
                  if (pattern730 (x3, V8HImode, V8SImode) != 0
                      || !
#line 14693 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3 && 1 && 1
   && ix86_binary_operator_ok (MULT, V8HImode, operands)))
                    return -1;
                  return 3741; /* *ssse3_pmulhrswv8hi3 */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_175 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  switch (GET_MODE (operands[0]))
    {
    case V64QImode:
      if (!register_operand (operands[0], V64QImode)
          || GET_MODE (x3) != V64QImode
          || !vector_operand (operands[1], V64QImode)
          || !(
#line 14871 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3) && 
#line 14862 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
        return -1;
      return 3767; /* *absv64qi2 */

    case V32QImode:
      if (!register_operand (operands[0], V32QImode)
          || GET_MODE (x3) != V32QImode
          || !vector_operand (operands[1], V32QImode)
          || !(
#line 14871 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3) && 
#line 14862 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
        return -1;
      return 3768; /* *absv32qi2 */

    case V16QImode:
      if (!register_operand (operands[0], V16QImode)
          || GET_MODE (x3) != V16QImode
          || !vector_operand (operands[1], V16QImode)
          || !
#line 14871 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3))
        return -1;
      return 3769; /* *absv16qi2 */

    case V32HImode:
      if (!register_operand (operands[0], V32HImode)
          || GET_MODE (x3) != V32HImode
          || !vector_operand (operands[1], V32HImode)
          || !(
#line 14871 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3) && 
#line 14863 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
        return -1;
      return 3770; /* *absv32hi2 */

    case V16HImode:
      if (!register_operand (operands[0], V16HImode)
          || GET_MODE (x3) != V16HImode
          || !vector_operand (operands[1], V16HImode)
          || !(
#line 14871 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3) && 
#line 14863 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
        return -1;
      return 3771; /* *absv16hi2 */

    case V8HImode:
      if (!register_operand (operands[0], V8HImode)
          || GET_MODE (x3) != V8HImode
          || !vector_operand (operands[1], V8HImode)
          || !
#line 14871 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3))
        return -1;
      return 3772; /* *absv8hi2 */

    case V16SImode:
      if (!register_operand (operands[0], V16SImode)
          || GET_MODE (x3) != V16SImode
          || !vector_operand (operands[1], V16SImode)
          || !(
#line 14871 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3) && 
#line 14864 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
        return -1;
      return 3773; /* *absv16si2 */

    case V8SImode:
      if (!register_operand (operands[0], V8SImode)
          || GET_MODE (x3) != V8SImode
          || !vector_operand (operands[1], V8SImode)
          || !(
#line 14871 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3) && 
#line 14864 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
        return -1;
      return 3774; /* *absv8si2 */

    case V4SImode:
      if (!register_operand (operands[0], V4SImode)
          || GET_MODE (x3) != V4SImode
          || !vector_operand (operands[1], V4SImode)
          || !
#line 14871 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3))
        return -1;
      return 3775; /* *absv4si2 */

    case V8DImode:
      if (!register_operand (operands[0], V8DImode)
          || GET_MODE (x3) != V8DImode
          || !vector_operand (operands[1], V8DImode)
          || !(
#line 14871 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3) && 
#line 14865 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
        return -1;
      return 3776; /* *absv8di2 */

    case V4DImode:
      if (!register_operand (operands[0], V4DImode)
          || GET_MODE (x3) != V4DImode
          || !vector_operand (operands[1], V4DImode)
          || !(
#line 14871 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3) && 
#line 14865 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 3777; /* *absv4di2 */

    case V2DImode:
      if (!register_operand (operands[0], V2DImode)
          || GET_MODE (x3) != V2DImode
          || !vector_operand (operands[1], V2DImode)
          || !(
#line 14871 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3) && 
#line 14865 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 3778; /* *absv2di2 */

    default:
      return -1;
    }
}

static int
recog_176 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (pattern21 (x1))
    {
    case 0:
      if (nonmemory_operand (operands[2], DImode)
          && (
#line 10691 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1) && 
#line 400 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
        return 3116; /* lshrv32hi3 */
      if (!nonimmediate_operand (operands[2], V32HImode)
          || !
#line 18776 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
        return -1;
      return 4518; /* avx512bw_lshrvv32hi */

    case 1:
      if (nonmemory_operand (operands[2], DImode)
          && (
#line 10691 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1) && 
#line 400 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
        return 3120; /* lshrv16hi3 */
      if (!nonimmediate_operand (operands[2], V16HImode)
          || !(
#line 18776 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 351 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 4514; /* avx512vl_lshrvv16hi */

    case 2:
      if (nonmemory_operand (operands[2], DImode)
          && 
#line 10691 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1))
        return 3124; /* lshrv8hi3 */
      if (!nonimmediate_operand (operands[2], V8HImode)
          || !(
#line 18776 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 351 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 4510; /* avx512vl_lshrvv8hi */

    case 3:
      if (nonmemory_operand (operands[2], DImode)
          && (
#line 10710 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1) && 
#line 403 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
        return 3128; /* lshrv8si3 */
      if (!nonimmediate_operand (operands[2], V8SImode)
          || !
#line 18765 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && 1))
        return -1;
      return 4490; /* avx2_lshrvv8si */

    case 4:
      if (nonmemory_operand (operands[2], DImode)
          && 
#line 10710 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1))
        return 3132; /* lshrv4si3 */
      if (!nonimmediate_operand (operands[2], V4SImode)
          || !
#line 18765 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && 1))
        return -1;
      return 4494; /* avx2_lshrvv4si */

    case 5:
      if (nonmemory_operand (operands[2], DImode)
          && (
#line 10710 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1) && 
#line 404 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
        return 3136; /* lshrv4di3 */
      if (!nonimmediate_operand (operands[2], V4DImode)
          || !
#line 18765 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && 1))
        return -1;
      return 4502; /* avx2_lshrvv4di */

    case 6:
      if (nonmemory_operand (operands[2], DImode)
          && 
#line 10710 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1))
        return 3140; /* lshrv2di3 */
      if (!nonimmediate_operand (operands[2], V2DImode)
          || !
#line 18765 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && 1))
        return -1;
      return 4506; /* avx2_lshrvv2di */

    case 7:
      if (nonimmediate_operand (operands[1], V16SImode)
          && nonmemory_operand (operands[2], DImode)
          && 
#line 10730 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1))
        return 3144; /* lshrv16si3 */
      if (!register_operand (operands[1], V16SImode)
          || !nonimmediate_operand (operands[2], V16SImode)
          || !(
#line 18765 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && 1) && 
#line 421 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
        return -1;
      return 4486; /* avx512f_lshrvv16si */

    case 8:
      if (nonimmediate_operand (operands[1], V8DImode)
          && nonmemory_operand (operands[2], DImode)
          && 
#line 10730 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1))
        return 3148; /* lshrv8di3 */
      if (!register_operand (operands[1], V8DImode)
          || !nonimmediate_operand (operands[2], V8DImode)
          || !(
#line 18765 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && 1) && 
#line 422 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
        return -1;
      return 4498; /* avx512f_lshrvv8di */

    case 9:
      if (!(
#line 10799 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2) && 
#line 375 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
        return -1;
      return 3153; /* avx512bw_lshrv4ti3 */

    case 10:
      if (!(
#line 10799 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2) && 
#line 375 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
        return -1;
      return 3154; /* avx2_lshrv2ti3 */

    case 11:
      if (!
#line 10799 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))
        return -1;
      return 3155; /* sse2_lshrv1ti3 */

    default:
      return -1;
    }
}

static int
recog_177 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (pattern21 (x1))
    {
    case 0:
      if (nonmemory_operand (operands[2], DImode)
          && (
#line 10691 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1) && 
#line 400 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
        return 3114; /* ashlv32hi3 */
      if (!nonimmediate_operand (operands[2], V32HImode)
          || !
#line 18776 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
        return -1;
      return 4516; /* avx512bw_ashlvv32hi */

    case 1:
      if (nonmemory_operand (operands[2], DImode)
          && (
#line 10691 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1) && 
#line 400 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
        return 3118; /* ashlv16hi3 */
      if (!nonimmediate_operand (operands[2], V16HImode)
          || !(
#line 18776 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 351 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 4512; /* avx512vl_ashlvv16hi */

    case 2:
      if (nonmemory_operand (operands[2], DImode)
          && 
#line 10691 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1))
        return 3122; /* ashlv8hi3 */
      if (!nonimmediate_operand (operands[2], V8HImode)
          || !(
#line 18776 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 351 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 4508; /* avx512vl_ashlvv8hi */

    case 3:
      if (nonmemory_operand (operands[2], DImode)
          && (
#line 10710 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1) && 
#line 403 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
        return 3126; /* ashlv8si3 */
      if (!nonimmediate_operand (operands[2], V8SImode)
          || !
#line 18765 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && 1))
        return -1;
      return 4488; /* avx2_ashlvv8si */

    case 4:
      if (nonmemory_operand (operands[2], DImode)
          && 
#line 10710 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1))
        return 3130; /* ashlv4si3 */
      if (!nonimmediate_operand (operands[2], V4SImode)
          || !
#line 18765 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && 1))
        return -1;
      return 4492; /* avx2_ashlvv4si */

    case 5:
      if (nonmemory_operand (operands[2], DImode)
          && (
#line 10710 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1) && 
#line 404 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
        return 3134; /* ashlv4di3 */
      if (!nonimmediate_operand (operands[2], V4DImode)
          || !
#line 18765 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && 1))
        return -1;
      return 4500; /* avx2_ashlvv4di */

    case 6:
      if (nonmemory_operand (operands[2], DImode)
          && 
#line 10710 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1))
        return 3138; /* ashlv2di3 */
      if (!nonimmediate_operand (operands[2], V2DImode)
          || !
#line 18765 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && 1))
        return -1;
      return 4504; /* avx2_ashlvv2di */

    case 7:
      if (nonimmediate_operand (operands[1], V16SImode)
          && nonmemory_operand (operands[2], DImode)
          && 
#line 10730 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1))
        return 3142; /* ashlv16si3 */
      if (!register_operand (operands[1], V16SImode)
          || !nonimmediate_operand (operands[2], V16SImode)
          || !(
#line 18765 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && 1) && 
#line 421 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
        return -1;
      return 4484; /* avx512f_ashlvv16si */

    case 8:
      if (nonimmediate_operand (operands[1], V8DImode)
          && nonmemory_operand (operands[2], DImode)
          && 
#line 10730 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1))
        return 3146; /* ashlv8di3 */
      if (!register_operand (operands[1], V8DImode)
          || !nonimmediate_operand (operands[2], V8DImode)
          || !(
#line 18765 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && 1) && 
#line 422 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
        return -1;
      return 4496; /* avx512f_ashlvv8di */

    case 9:
      if (!(
#line 10760 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2) && 
#line 375 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
        return -1;
      return 3150; /* avx512bw_ashlv4ti3 */

    case 10:
      if (!(
#line 10760 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2) && 
#line 375 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
        return -1;
      return 3151; /* avx2_ashlv2ti3 */

    case 11:
      if (!
#line 10760 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))
        return -1;
      return 3152; /* sse2_ashlv1ti3 */

    default:
      return -1;
    }
}

static int
recog_178 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
    case MEM:
      operands[1] = x4;
      switch (GET_MODE (operands[0]))
        {
        case V16SFmode:
          if (!register_operand (operands[0], V16SFmode)
              || GET_MODE (x3) != V16SFmode
              || !vector_operand (operands[1], V16SImode)
              || !(
#line 4410 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1) && 
#line 235 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
            return -1;
          return 2115; /* floatv16siv16sf2 */

        case V8SFmode:
          if (!register_operand (operands[0], V8SFmode)
              || GET_MODE (x3) != V8SFmode)
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case V8SImode:
              if (!vector_operand (operands[1], V8SImode)
                  || !(
#line 4410 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1) && 
#line 235 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
                return -1;
              return 2119; /* floatv8siv8sf2 */

            case V8DImode:
              if (!nonimmediate_operand (operands[1], V8DImode)
                  || !
#line 4918 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1))
                return -1;
              return 2243; /* floatv8div8sf2 */

            default:
              return -1;
            }

        case V4SFmode:
          if (!register_operand (operands[0], V4SFmode)
              || GET_MODE (x3) != V4SFmode)
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case V4SImode:
              if (!vector_operand (operands[1], V4SImode)
                  || !
#line 4410 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1))
                return -1;
              return 2121; /* floatv4siv4sf2 */

            case V4DImode:
              if (!nonimmediate_operand (operands[1], V4DImode)
                  || !(
#line 4918 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1) && 
#line 242 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 2251; /* floatv4div4sf2 */

            default:
              return -1;
            }

        case V2DFmode:
          if (!register_operand (operands[0], V2DFmode)
              || GET_MODE (x3) != V2DFmode)
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case V2SImode:
              if (!nonimmediate_operand (operands[1], V2SImode)
                  || !
#line 4606 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))
                return -1;
              return 2183; /* sse2_cvtpi2pd */

            case V2DImode:
              if (!nonimmediate_operand (operands[1], V2DImode)
                  || !(
#line 4894 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 279 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 2235; /* floatv2div2df2 */

            default:
              return -1;
            }

        case V8DFmode:
          switch (pattern245 (x3, V8DFmode))
            {
            case 0:
              if (!(
#line 4884 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && 1) && 
#line 253 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
                return -1;
              return 2215; /* floatv8siv8df2 */

            case 1:
              if (!
#line 4894 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ))
                return -1;
              return 2219; /* floatv8div8df2 */

            default:
              return -1;
            }

        case V4DFmode:
          switch (pattern246 (x3, V4DFmode))
            {
            case 0:
              if (!
#line 4884 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && 1))
                return -1;
              return 2217; /* floatv4siv4df2 */

            case 1:
              if (!(
#line 4894 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 279 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 2227; /* floatv4div4df2 */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case VEC_SELECT:
      x5 = XEXP (x4, 1);
      if (GET_CODE (x5) != PARALLEL)
        return -1;
      x6 = XEXP (x4, 0);
      operands[1] = x6;
      switch (XVECLEN (x5, 0))
        {
        case 8:
          if (pattern319 (x3, V16SImode, V8SImode) != 0
              || !
#line 4997 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2267; /* avx512f_cvtdq2pd512_2 */

        case 4:
          if (pattern320 (x3, V8SImode, V4SImode) != 0
              || !
#line 5010 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
            return -1;
          return 2268; /* avx_cvtdq2pd256_2 */

        case 2:
          x7 = XVECEXP (x5, 0, 0);
          if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x8 = XVECEXP (x5, 0, 1);
          if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
              || pattern318 (x3, V4SImode, V2SImode, V2DFmode) != 0
              || !
#line 5022 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1))
            return -1;
          return 2269; /* sse2_cvtdq2pd */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_179 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (pattern16 (x1))
    {
    case 0:
      if (!(
#line 1878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (SMIN, V16SFmode, operands)
   && 1 && 1) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
        return -1;
      return 1511; /* *sminv16sf3 */

    case 1:
      if (!(
#line 1878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (SMIN, V8SFmode, operands)
   && 1 && 1) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
        return -1;
      return 1519; /* *sminv8sf3 */

    case 2:
      if (!
#line 1878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (SMIN, V4SFmode, operands)
   && 1 && 1))
        return -1;
      return 1527; /* *sminv4sf3 */

    case 3:
      if (!(
#line 1878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (SMIN, V8DFmode, operands)
   && 1 && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
        return -1;
      return 1535; /* *sminv8df3 */

    case 4:
      if (!(
#line 1878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (SMIN, V4DFmode, operands)
   && 1 && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
        return -1;
      return 1543; /* *sminv4df3 */

    case 5:
      if (!(
#line 1878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (SMIN, V2DFmode, operands)
   && 1 && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
        return -1;
      return 1551; /* *sminv2df3 */

    case 6:
      if (nonimmediate_operand (operands[1], V32QImode)
          && 
#line 10854 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && ix86_binary_operator_ok (SMIN, V32QImode, operands)))
        return 3205; /* *avx2_sminv32qi3 */
      if (!register_operand (operands[1], V32QImode)
          || !(
#line 10889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 3282; /* *sminv32qi3 */

    case 7:
      if (nonimmediate_operand (operands[1], V16HImode)
          && 
#line 10854 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && ix86_binary_operator_ok (SMIN, V16HImode, operands)))
        return 3209; /* *avx2_sminv16hi3 */
      if (!register_operand (operands[1], V16HImode)
          || !(
#line 10889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 3298; /* *sminv16hi3 */

    case 8:
      if (
#line 10854 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && ix86_binary_operator_ok (SMIN, V8SImode, operands)))
        return 3213; /* *avx2_sminv8si3 */
      if (!(
#line 10877 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (SMIN, V8SImode, operands)) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 3226; /* *avx512f_sminv8si3 */

    case 9:
      if (!
#line 10877 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (SMIN, V16SImode, operands)))
        return -1;
      return 3218; /* *avx512f_sminv16si3 */

    case 10:
      if (nonimmediate_operand (operands[1], V4SImode)
          && nonimmediate_operand (operands[2], V4SImode)
          && (
#line 10877 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (SMIN, V4SImode, operands)) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return 3234; /* *avx512f_sminv4si3 */
      if (!vector_operand (operands[1], V4SImode)
          || !vector_operand (operands[2], V4SImode)
          || !
#line 10981 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1
   && 1
   && ix86_binary_operator_ok (SMIN, V4SImode, operands)))
        return -1;
      return 3318; /* *sse4_1_sminv4si3 */

    case 11:
      if (!
#line 10877 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (SMIN, V8DImode, operands)))
        return -1;
      return 3242; /* *avx512f_sminv8di3 */

    case 12:
      if (!(
#line 10877 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (SMIN, V4DImode, operands)) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 3250; /* *avx512f_sminv4di3 */

    case 13:
      if (!(
#line 10877 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (SMIN, V2DImode, operands)) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 3258; /* *avx512f_sminv2di3 */

    case 14:
      if (!
#line 10889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
        return -1;
      return 3266; /* *sminv64qi3 */

    case 15:
      if (register_operand (operands[1], V16QImode)
          && nonimmediate_operand (operands[2], V16QImode)
          && (
#line 10889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return 3274; /* *sminv16qi3 */
      if (!vector_operand (operands[1], V16QImode)
          || !vector_operand (operands[2], V16QImode)
          || !
#line 10981 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1
   && 1
   && ix86_binary_operator_ok (SMIN, V16QImode, operands)))
        return -1;
      return 3314; /* *sse4_1_sminv16qi3 */

    case 16:
      if (!
#line 10889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
        return -1;
      return 3290; /* *sminv32hi3 */

    case 17:
      if (register_operand (operands[1], V8HImode)
          && nonimmediate_operand (operands[2], V8HImode)
          && (
#line 10889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return 3306; /* *sminv8hi3 */
      if (!vector_operand (operands[1], V8HImode)
          || !vector_operand (operands[2], V8HImode)
          || !
#line 10999 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && ix86_binary_operator_ok (SMIN, V8HImode, operands)))
        return -1;
      return 3321; /* *sminv8hi3 */

    default:
      return -1;
    }
}

static int
recog_180 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (pattern16 (x1))
    {
    case 0:
      if (!(
#line 1878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (SMAX, V16SFmode, operands)
   && 1 && 1) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
        return -1;
      return 1507; /* *smaxv16sf3 */

    case 1:
      if (!(
#line 1878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (SMAX, V8SFmode, operands)
   && 1 && 1) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
        return -1;
      return 1515; /* *smaxv8sf3 */

    case 2:
      if (!
#line 1878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (SMAX, V4SFmode, operands)
   && 1 && 1))
        return -1;
      return 1523; /* *smaxv4sf3 */

    case 3:
      if (!(
#line 1878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (SMAX, V8DFmode, operands)
   && 1 && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
        return -1;
      return 1531; /* *smaxv8df3 */

    case 4:
      if (!(
#line 1878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (SMAX, V4DFmode, operands)
   && 1 && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
        return -1;
      return 1539; /* *smaxv4df3 */

    case 5:
      if (!(
#line 1878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (SMAX, V2DFmode, operands)
   && 1 && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
        return -1;
      return 1547; /* *smaxv2df3 */

    case 6:
      if (nonimmediate_operand (operands[1], V32QImode)
          && 
#line 10854 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && ix86_binary_operator_ok (SMAX, V32QImode, operands)))
        return 3204; /* *avx2_smaxv32qi3 */
      if (!register_operand (operands[1], V32QImode)
          || !(
#line 10889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 3280; /* *smaxv32qi3 */

    case 7:
      if (nonimmediate_operand (operands[1], V16HImode)
          && 
#line 10854 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && ix86_binary_operator_ok (SMAX, V16HImode, operands)))
        return 3208; /* *avx2_smaxv16hi3 */
      if (!register_operand (operands[1], V16HImode)
          || !(
#line 10889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 3296; /* *smaxv16hi3 */

    case 8:
      if (
#line 10854 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && ix86_binary_operator_ok (SMAX, V8SImode, operands)))
        return 3212; /* *avx2_smaxv8si3 */
      if (!(
#line 10877 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (SMAX, V8SImode, operands)) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 3224; /* *avx512f_smaxv8si3 */

    case 9:
      if (!
#line 10877 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (SMAX, V16SImode, operands)))
        return -1;
      return 3216; /* *avx512f_smaxv16si3 */

    case 10:
      if (nonimmediate_operand (operands[1], V4SImode)
          && nonimmediate_operand (operands[2], V4SImode)
          && (
#line 10877 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (SMAX, V4SImode, operands)) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return 3232; /* *avx512f_smaxv4si3 */
      if (!vector_operand (operands[1], V4SImode)
          || !vector_operand (operands[2], V4SImode)
          || !
#line 10981 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1
   && 1
   && ix86_binary_operator_ok (SMAX, V4SImode, operands)))
        return -1;
      return 3316; /* *sse4_1_smaxv4si3 */

    case 11:
      if (!
#line 10877 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (SMAX, V8DImode, operands)))
        return -1;
      return 3240; /* *avx512f_smaxv8di3 */

    case 12:
      if (!(
#line 10877 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (SMAX, V4DImode, operands)) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 3248; /* *avx512f_smaxv4di3 */

    case 13:
      if (!(
#line 10877 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (SMAX, V2DImode, operands)) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 3256; /* *avx512f_smaxv2di3 */

    case 14:
      if (!
#line 10889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
        return -1;
      return 3264; /* *smaxv64qi3 */

    case 15:
      if (register_operand (operands[1], V16QImode)
          && nonimmediate_operand (operands[2], V16QImode)
          && (
#line 10889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return 3272; /* *smaxv16qi3 */
      if (!vector_operand (operands[1], V16QImode)
          || !vector_operand (operands[2], V16QImode)
          || !
#line 10981 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1
   && 1
   && ix86_binary_operator_ok (SMAX, V16QImode, operands)))
        return -1;
      return 3312; /* *sse4_1_smaxv16qi3 */

    case 16:
      if (!
#line 10889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
        return -1;
      return 3288; /* *smaxv32hi3 */

    case 17:
      if (register_operand (operands[1], V8HImode)
          && nonimmediate_operand (operands[2], V8HImode)
          && (
#line 10889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return 3304; /* *smaxv8hi3 */
      if (!vector_operand (operands[1], V8HImode)
          || !vector_operand (operands[2], V8HImode)
          || !
#line 10999 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && ix86_binary_operator_ok (SMAX, V8HImode, operands)))
        return -1;
      return 3320; /* *smaxv8hi3 */

    default:
      return -1;
    }
}

static int
recog_181 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
    case MEM:
      operands[1] = x4;
      x5 = XEXP (x3, 1);
      operands[2] = x5;
      switch (GET_MODE (operands[0]))
        {
        case V16SFmode:
          if (pattern14 (x3, V16SFmode) != 0
              || !(
#line 1600 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MULT, V16SFmode, operands) && 1 && 1) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
            return -1;
          return 1405; /* *mulv16sf3 */

        case V8SFmode:
          if (pattern14 (x3, V8SFmode) != 0
              || !(
#line 1600 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MULT, V8SFmode, operands) && 1 && 1) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return -1;
          return 1409; /* *mulv8sf3 */

        case V4SFmode:
          if (pattern14 (x3, V4SFmode) != 0
              || !
#line 1600 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MULT, V4SFmode, operands) && 1 && 1))
            return -1;
          return 1413; /* *mulv4sf3 */

        case V8DFmode:
          if (pattern14 (x3, V8DFmode) != 0
              || !(
#line 1600 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MULT, V8DFmode, operands) && 1 && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
            return -1;
          return 1417; /* *mulv8df3 */

        case V4DFmode:
          if (pattern14 (x3, V4DFmode) != 0
              || !(
#line 1600 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MULT, V4DFmode, operands) && 1 && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return -1;
          return 1421; /* *mulv4df3 */

        case V2DFmode:
          if (pattern14 (x3, V2DFmode) != 0
              || !(
#line 1600 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MULT, V2DFmode, operands) && 1 && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
            return -1;
          return 1425; /* *mulv2df3 */

        case V32HImode:
          if (pattern14 (x3, V32HImode) != 0
              || !(
#line 10022 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (MULT, V32HImode, operands)
   && 1 && 1) && 
#line 329 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 3042; /* *mulv32hi3 */

        case V16HImode:
          if (pattern14 (x3, V16HImode) != 0
              || !(
#line 10022 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (MULT, V16HImode, operands)
   && 1 && 1) && 
#line 329 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
            return -1;
          return 3044; /* *mulv16hi3 */

        case V8HImode:
          if (pattern14 (x3, V8HImode) != 0
              || !
#line 10022 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (MULT, V8HImode, operands)
   && 1 && 1))
            return -1;
          return 3046; /* *mulv8hi3 */

        case V8DImode:
          if (pattern15 (x3, V8DImode) != 0
              || !(
#line 10457 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1) && 
#line 314 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
            return -1;
          return 3080; /* avx512dq_mulv8di3 */

        case V4DImode:
          if (pattern15 (x3, V4DImode) != 0
              || !(
#line 10457 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1) && 
#line 314 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return -1;
          return 3082; /* avx512dq_mulv4di3 */

        case V2DImode:
          if (pattern15 (x3, V2DImode) != 0
              || !
#line 10457 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1))
            return -1;
          return 3084; /* avx512dq_mulv2di3 */

        case V16SImode:
          if (pattern14 (x3, V16SImode) != 0
              || !(
#line 10490 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1 && ix86_binary_operator_ok (MULT, V16SImode, operands) && 1) && 
#line 341 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
            return -1;
          return 3086; /* *avx512f_mulv16si3 */

        case V8SImode:
          if (pattern14 (x3, V8SImode) != 0
              || !(
#line 10490 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1 && ix86_binary_operator_ok (MULT, V8SImode, operands) && 1) && 
#line 341 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
            return -1;
          return 3088; /* *avx2_mulv8si3 */

        case V4SImode:
          if (pattern14 (x3, V4SImode) != 0
              || !
#line 10490 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1 && ix86_binary_operator_ok (MULT, V4SImode, operands) && 1))
            return -1;
          return 3090; /* *sse4_1_mulv4si3 */

        default:
          return -1;
        }

    case ZERO_EXTEND:
      switch (pattern113 (x3, ZERO_EXTEND))
        {
        case 0:
          if (!
#line 10107 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (MULT, V16SImode, operands)))
            return -1;
          return 3060; /* *vec_widen_umult_even_v16si */

        case 1:
          if (!
#line 10144 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && 1
   && ix86_binary_operator_ok (MULT, V8SImode, operands)))
            return -1;
          return 3062; /* *vec_widen_umult_even_v8si */

        case 2:
          if (!
#line 10176 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1
   && ix86_binary_operator_ok (MULT, V4SImode, operands)))
            return -1;
          return 3064; /* *vec_widen_umult_even_v4si */

        default:
          return -1;
        }

    case SIGN_EXTEND:
      switch (pattern113 (x3, SIGN_EXTEND))
        {
        case 0:
          if (!
#line 10224 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (MULT, V16SImode, operands)))
            return -1;
          return 3066; /* *vec_widen_smult_even_v16si */

        case 1:
          if (!
#line 10261 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2
   && ix86_binary_operator_ok (MULT, V8SImode, operands)))
            return -1;
          return 3068; /* *vec_widen_smult_even_v8si */

        case 2:
          if (!
#line 10294 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1 && 1
   && ix86_binary_operator_ok (MULT, V4SImode, operands)))
            return -1;
          return 3070; /* *sse4_1_mulv2siv2di3 */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_182 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (pattern24 (x1))
    {
    case 0:
      if (nonimmediate_operand (operands[1], V32QImode)
          && 
#line 10854 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && ix86_binary_operator_ok (UMIN, V32QImode, operands)))
        return 3207; /* *avx2_uminv32qi3 */
      if (!register_operand (operands[1], V32QImode)
          || !(
#line 10889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 3286; /* *uminv32qi3 */

    case 1:
      if (nonimmediate_operand (operands[1], V16HImode)
          && 
#line 10854 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && ix86_binary_operator_ok (UMIN, V16HImode, operands)))
        return 3211; /* *avx2_uminv16hi3 */
      if (!register_operand (operands[1], V16HImode)
          || !(
#line 10889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 3302; /* *uminv16hi3 */

    case 2:
      if (
#line 10854 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && ix86_binary_operator_ok (UMIN, V8SImode, operands)))
        return 3215; /* *avx2_uminv8si3 */
      if (!(
#line 10877 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (UMIN, V8SImode, operands)) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 3230; /* *avx512f_uminv8si3 */

    case 3:
      if (!
#line 10877 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (UMIN, V16SImode, operands)))
        return -1;
      return 3222; /* *avx512f_uminv16si3 */

    case 4:
      if (nonimmediate_operand (operands[1], V4SImode)
          && nonimmediate_operand (operands[2], V4SImode)
          && (
#line 10877 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (UMIN, V4SImode, operands)) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return 3238; /* *avx512f_uminv4si3 */
      if (!vector_operand (operands[1], V4SImode)
          || !vector_operand (operands[2], V4SImode)
          || !
#line 11066 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1
   && 1
   && ix86_binary_operator_ok (UMIN, V4SImode, operands)))
        return -1;
      return 3328; /* *sse4_1_uminv4si3 */

    case 5:
      if (!
#line 10877 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (UMIN, V8DImode, operands)))
        return -1;
      return 3246; /* *avx512f_uminv8di3 */

    case 6:
      if (!(
#line 10877 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (UMIN, V4DImode, operands)) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 3254; /* *avx512f_uminv4di3 */

    case 7:
      if (!(
#line 10877 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (UMIN, V2DImode, operands)) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 3262; /* *avx512f_uminv2di3 */

    case 8:
      if (!
#line 10889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
        return -1;
      return 3270; /* *uminv64qi3 */

    case 9:
      if (register_operand (operands[1], V16QImode)
          && nonimmediate_operand (operands[2], V16QImode)
          && (
#line 10889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return 3278; /* *uminv16qi3 */
      if (!vector_operand (operands[1], V16QImode)
          || !vector_operand (operands[2], V16QImode)
          || !
#line 11084 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && ix86_binary_operator_ok (UMIN, V16QImode, operands)))
        return -1;
      return 3331; /* *uminv16qi3 */

    case 10:
      if (!
#line 10889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
        return -1;
      return 3294; /* *uminv32hi3 */

    case 11:
      if (register_operand (operands[1], V8HImode)
          && nonimmediate_operand (operands[2], V8HImode)
          && (
#line 10889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return 3310; /* *uminv8hi3 */
      if (!vector_operand (operands[1], V8HImode)
          || !vector_operand (operands[2], V8HImode)
          || !
#line 11066 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1
   && 1
   && ix86_binary_operator_ok (UMIN, V8HImode, operands)))
        return -1;
      return 3324; /* *sse4_1_uminv8hi3 */

    default:
      return -1;
    }
}

static int
recog_183 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (pattern24 (x1))
    {
    case 0:
      if (nonimmediate_operand (operands[1], V32QImode)
          && 
#line 10854 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && ix86_binary_operator_ok (UMAX, V32QImode, operands)))
        return 3206; /* *avx2_umaxv32qi3 */
      if (!register_operand (operands[1], V32QImode)
          || !(
#line 10889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 3284; /* *umaxv32qi3 */

    case 1:
      if (nonimmediate_operand (operands[1], V16HImode)
          && 
#line 10854 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && ix86_binary_operator_ok (UMAX, V16HImode, operands)))
        return 3210; /* *avx2_umaxv16hi3 */
      if (!register_operand (operands[1], V16HImode)
          || !(
#line 10889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 3300; /* *umaxv16hi3 */

    case 2:
      if (
#line 10854 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && ix86_binary_operator_ok (UMAX, V8SImode, operands)))
        return 3214; /* *avx2_umaxv8si3 */
      if (!(
#line 10877 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (UMAX, V8SImode, operands)) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 3228; /* *avx512f_umaxv8si3 */

    case 3:
      if (!
#line 10877 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (UMAX, V16SImode, operands)))
        return -1;
      return 3220; /* *avx512f_umaxv16si3 */

    case 4:
      if (nonimmediate_operand (operands[1], V4SImode)
          && nonimmediate_operand (operands[2], V4SImode)
          && (
#line 10877 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (UMAX, V4SImode, operands)) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return 3236; /* *avx512f_umaxv4si3 */
      if (!vector_operand (operands[1], V4SImode)
          || !vector_operand (operands[2], V4SImode)
          || !
#line 11066 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1
   && 1
   && ix86_binary_operator_ok (UMAX, V4SImode, operands)))
        return -1;
      return 3326; /* *sse4_1_umaxv4si3 */

    case 5:
      if (!
#line 10877 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (UMAX, V8DImode, operands)))
        return -1;
      return 3244; /* *avx512f_umaxv8di3 */

    case 6:
      if (!(
#line 10877 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (UMAX, V4DImode, operands)) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 3252; /* *avx512f_umaxv4di3 */

    case 7:
      if (!(
#line 10877 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (UMAX, V2DImode, operands)) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 3260; /* *avx512f_umaxv2di3 */

    case 8:
      if (!
#line 10889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
        return -1;
      return 3268; /* *umaxv64qi3 */

    case 9:
      if (register_operand (operands[1], V16QImode)
          && nonimmediate_operand (operands[2], V16QImode)
          && (
#line 10889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return 3276; /* *umaxv16qi3 */
      if (!vector_operand (operands[1], V16QImode)
          || !vector_operand (operands[2], V16QImode)
          || !
#line 11084 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && ix86_binary_operator_ok (UMAX, V16QImode, operands)))
        return -1;
      return 3330; /* *umaxv16qi3 */

    case 10:
      if (!
#line 10889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
        return -1;
      return 3292; /* *umaxv32hi3 */

    case 11:
      if (register_operand (operands[1], V8HImode)
          && nonimmediate_operand (operands[2], V8HImode)
          && (
#line 10889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW) && 
#line 192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return 3308; /* *umaxv8hi3 */
      if (!vector_operand (operands[1], V8HImode)
          || !vector_operand (operands[2], V8HImode)
          || !
#line 11066 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1
   && 1
   && ix86_binary_operator_ok (UMAX, V8HImode, operands)))
        return -1;
      return 3322; /* *sse4_1_umaxv8hi3 */

    default:
      return -1;
    }
}

static int
recog_184 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
    case MEM:
      operands[1] = x4;
      switch (GET_MODE (operands[0]))
        {
        case V16SFmode:
          if (!register_operand (operands[0], V16SFmode)
              || GET_MODE (x3) != V16SFmode
              || !nonimmediate_operand (operands[1], V16SImode)
              || !
#line 4423 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2123; /* ufloatv16siv16sf2 */

        case V8SFmode:
          switch (pattern245 (x3, V8SFmode))
            {
            case 0:
              if (!(
#line 4423 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 282 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 2127; /* ufloatv8siv8sf2 */

            case 1:
              if (!
#line 4918 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1))
                return -1;
              return 2247; /* ufloatv8div8sf2 */

            default:
              return -1;
            }

        case V4SFmode:
          switch (pattern246 (x3, V4SFmode))
            {
            case 0:
              if (!(
#line 4423 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 282 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 2131; /* ufloatv4siv4sf2 */

            case 1:
              if (!(
#line 4918 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1) && 
#line 242 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 2253; /* ufloatv4div4sf2 */

            default:
              return -1;
            }

        case V8DFmode:
          if (!register_operand (operands[0], V8DFmode)
              || GET_MODE (x3) != V8DFmode)
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case V8DImode:
              if (!nonimmediate_operand (operands[1], V8DImode)
                  || !
#line 4894 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ))
                return -1;
              return 2223; /* ufloatv8div8df2 */

            case V8SImode:
              if (!nonimmediate_operand (operands[1], V8SImode)
                  || !
#line 4970 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return -1;
              return 2261; /* ufloatv8siv8df2 */

            default:
              return -1;
            }

        case V4DFmode:
          if (!register_operand (operands[0], V4DFmode)
              || GET_MODE (x3) != V4DFmode)
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case V4DImode:
              if (!nonimmediate_operand (operands[1], V4DImode)
                  || !(
#line 4894 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 279 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 2231; /* ufloatv4div4df2 */

            case V4SImode:
              if (!nonimmediate_operand (operands[1], V4SImode)
                  || !(
#line 4970 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 256 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
                return -1;
              return 2263; /* ufloatv4siv4df2 */

            default:
              return -1;
            }

        case V2DFmode:
          if (!register_operand (operands[0], V2DFmode)
              || GET_MODE (x3) != V2DFmode
              || !nonimmediate_operand (operands[1], V2DImode)
              || !(
#line 4894 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 279 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
            return -1;
          return 2239; /* ufloatv2div2df2 */

        default:
          return -1;
        }

    case VEC_SELECT:
      if (pattern18 (x3, V4SImode, V2DFmode, V2SImode) != 0
          || !
#line 4982 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
        return -1;
      return 2265; /* ufloatv2siv2df2 */

    default:
      return -1;
    }
}

static int
recog_185 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  switch (pattern2 (x1))
    {
    case 0:
      switch (GET_MODE (operands[0]))
        {
        case SFmode:
          if (!register_operand (operands[0], SFmode))
            return -1;
          x2 = XEXP (x1, 1);
          if (GET_MODE (x2) != SFmode
              || !register_operand (operands[1], SFmode)
              || !
#line 9296 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387
   && (reload_completed
       || !(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH))))
            return -1;
          return 474; /* *abssf2_1 */

        case DFmode:
          if (!register_operand (operands[0], DFmode))
            return -1;
          x2 = XEXP (x1, 1);
          if (GET_MODE (x2) != DFmode
              || !register_operand (operands[1], DFmode)
              || !
#line 9296 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387
   && (reload_completed
       || !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH))))
            return -1;
          return 476; /* *absdf2_1 */

        case XFmode:
          if (!register_operand (operands[0], XFmode))
            return -1;
          x2 = XEXP (x1, 1);
          if (GET_MODE (x2) != XFmode
              || !register_operand (operands[1], XFmode)
              || !
#line 9296 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387
   && (reload_completed
       || !(SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH))))
            return -1;
          return 478; /* *absxf2_1 */

        case V8QImode:
          if (!register_operand (operands[0], V8QImode))
            return -1;
          x2 = XEXP (x1, 1);
          if (GET_MODE (x2) != V8QImode
              || !nonimmediate_operand (operands[1], V8QImode)
              || !
#line 14922 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3))
            return -1;
          return 3791; /* absv8qi2 */

        case V4HImode:
          if (!register_operand (operands[0], V4HImode))
            return -1;
          x2 = XEXP (x1, 1);
          if (GET_MODE (x2) != V4HImode
              || !nonimmediate_operand (operands[1], V4HImode)
              || !
#line 14922 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3))
            return -1;
          return 3792; /* absv4hi2 */

        case V2SImode:
          if (!register_operand (operands[0], V2SImode))
            return -1;
          x2 = XEXP (x1, 1);
          if (GET_MODE (x2) != V2SImode
              || !nonimmediate_operand (operands[1], V2SImode)
              || !
#line 14922 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSSE3))
            return -1;
          return 3793; /* absv2si2 */

        default:
          return -1;
        }

    case 1:
      if (!
#line 9307 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && (!TARGET_SSE_MATH || TARGET_MIX_SSE_I387)))
        return -1;
      return 480; /* *absextendsfdf2 */

    case 2:
      if (!
#line 9316 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387))
        return -1;
      return 482; /* *absextendsfxf2 */

    case 3:
      if (!
#line 9325 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387))
        return -1;
      return 484; /* *absextenddfxf2 */

    default:
      return -1;
    }
}

static int
recog_186 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  switch (GET_MODE (operands[0]))
    {
    case V16SFmode:
      if (!register_operand (operands[0], V16SFmode)
          || GET_MODE (x3) != V16SFmode
          || !vector_operand (operands[1], V16SFmode)
          || !(
#line 1747 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && 1 && 1) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
        return -1;
      return 1470; /* avx512f_sqrtv16sf2 */

    case V8SFmode:
      if (!register_operand (operands[0], V8SFmode)
          || GET_MODE (x3) != V8SFmode
          || !vector_operand (operands[1], V8SFmode)
          || !(
#line 1747 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && 1 && 1) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
        return -1;
      return 1474; /* avx_sqrtv8sf2 */

    case V4SFmode:
      if (!register_operand (operands[0], V4SFmode)
          || GET_MODE (x3) != V4SFmode
          || !vector_operand (operands[1], V4SFmode)
          || !
#line 1747 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && 1 && 1))
        return -1;
      return 1476; /* sse_sqrtv4sf2 */

    case V8DFmode:
      if (!register_operand (operands[0], V8DFmode)
          || GET_MODE (x3) != V8DFmode
          || !vector_operand (operands[1], V8DFmode)
          || !(
#line 1747 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && 1 && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
        return -1;
      return 1478; /* avx512f_sqrtv8df2 */

    case V4DFmode:
      if (!register_operand (operands[0], V4DFmode)
          || GET_MODE (x3) != V4DFmode
          || !vector_operand (operands[1], V4DFmode)
          || !(
#line 1747 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && 1 && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
        return -1;
      return 1482; /* avx_sqrtv4df2 */

    case V2DFmode:
      if (!register_operand (operands[0], V2DFmode)
          || GET_MODE (x3) != V2DFmode
          || !vector_operand (operands[1], V2DFmode)
          || !(
#line 1747 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && 1 && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
        return -1;
      return 1484; /* sse2_sqrtv2df2 */

    default:
      return -1;
    }
}

static int
recog_187 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  switch (GET_MODE (operands[0]))
    {
    case V16SImode:
      if (!register_operand (operands[0], V16SImode)
          || GET_MODE (x3) != V16SImode
          || !nonimmediate_operand (operands[1], V16SImode)
          || !
#line 19519 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512CD))
        return -1;
      return 4869; /* clzv16si2 */

    case V8SImode:
      if (!register_operand (operands[0], V8SImode)
          || GET_MODE (x3) != V8SImode
          || !nonimmediate_operand (operands[1], V8SImode)
          || !(
#line 19519 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512CD) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 4871; /* clzv8si2 */

    case V4SImode:
      if (!register_operand (operands[0], V4SImode)
          || GET_MODE (x3) != V4SImode
          || !nonimmediate_operand (operands[1], V4SImode)
          || !(
#line 19519 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512CD) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 4873; /* clzv4si2 */

    case V8DImode:
      if (!register_operand (operands[0], V8DImode)
          || GET_MODE (x3) != V8DImode
          || !nonimmediate_operand (operands[1], V8DImode)
          || !
#line 19519 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512CD))
        return -1;
      return 4875; /* clzv8di2 */

    case V4DImode:
      if (!register_operand (operands[0], V4DImode)
          || GET_MODE (x3) != V4DImode
          || !nonimmediate_operand (operands[1], V4DImode)
          || !(
#line 19519 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512CD) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 4877; /* clzv4di2 */

    case V2DImode:
      if (!register_operand (operands[0], V2DImode)
          || GET_MODE (x3) != V2DImode
          || !nonimmediate_operand (operands[1], V2DImode)
          || !(
#line 19519 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512CD) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 4879; /* clzv2di2 */

    default:
      return -1;
    }
}

static int
recog_188 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
    case MEM:
      switch (pattern109 (x3))
        {
        case 0:
          if (!(
#line 1561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MINUS, V16SFmode, operands) && 1 && 1) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
            return -1;
          return 1353; /* *subv16sf3 */

        case 1:
          if (!(
#line 1561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MINUS, V8SFmode, operands) && 1 && 1) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return -1;
          return 1361; /* *subv8sf3 */

        case 2:
          if (!
#line 1561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MINUS, V4SFmode, operands) && 1 && 1))
            return -1;
          return 1369; /* *subv4sf3 */

        case 3:
          if (!(
#line 1561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MINUS, V8DFmode, operands) && 1 && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
            return -1;
          return 1377; /* *subv8df3 */

        case 4:
          if (!(
#line 1561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MINUS, V4DFmode, operands) && 1 && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return -1;
          return 1385; /* *subv4df3 */

        case 5:
          if (!(
#line 1561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MINUS, V2DFmode, operands) && 1 && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
            return -1;
          return 1393; /* *subv2df3 */

        case 6:
          if (!(
#line 9937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (MINUS, V64QImode, operands)) && 
#line 293 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 2924; /* *subv64qi3 */

        case 7:
          if (!(
#line 9937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (MINUS, V32QImode, operands)) && 
#line 293 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
            return -1;
          return 2928; /* *subv32qi3 */

        case 8:
          if (!
#line 9937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (MINUS, V16QImode, operands)))
            return -1;
          return 2932; /* *subv16qi3 */

        case 9:
          if (!(
#line 9937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (MINUS, V32HImode, operands)) && 
#line 294 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 2936; /* *subv32hi3 */

        case 10:
          if (!(
#line 9937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (MINUS, V16HImode, operands)) && 
#line 294 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
            return -1;
          return 2940; /* *subv16hi3 */

        case 11:
          if (!
#line 9937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (MINUS, V8HImode, operands)))
            return -1;
          return 2944; /* *subv8hi3 */

        case 12:
          if (!(
#line 9937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (MINUS, V16SImode, operands)) && 
#line 295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
            return -1;
          return 2948; /* *subv16si3 */

        case 13:
          if (!(
#line 9937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (MINUS, V8SImode, operands)) && 
#line 295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
            return -1;
          return 2952; /* *subv8si3 */

        case 14:
          if (!
#line 9937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (MINUS, V4SImode, operands)))
            return -1;
          return 2956; /* *subv4si3 */

        case 15:
          if (!(
#line 9937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (MINUS, V8DImode, operands)) && 
#line 296 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
            return -1;
          return 2960; /* *subv8di3 */

        case 16:
          if (!(
#line 9937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (MINUS, V4DImode, operands)) && 
#line 296 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
            return -1;
          return 2964; /* *subv4di3 */

        case 17:
          if (!
#line 9937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2
   && ix86_binary_operator_ok (MINUS, V2DImode, operands)))
            return -1;
          return 2968; /* *subv2di3 */

        default:
          return -1;
        }

    case SIGN_EXTEND:
      switch (pattern111 (x3, SIGN_EXTEND))
        {
        case 0:
          if (!
#line 16523 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
            return -1;
          return 4023; /* xop_phsubbw */

        case 1:
          if (!
#line 16540 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
            return -1;
          return 4024; /* xop_phsubwd */

        case 2:
          if (!
#line 16555 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
            return -1;
          return 4025; /* xop_phsubdq */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_189 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
    case MEM:
      operands[1] = x4;
      switch (GET_MODE (operands[0]))
        {
        case V8DFmode:
          if (!register_operand (operands[0], V8DFmode)
              || GET_MODE (x3) != V8DFmode
              || !vector_operand (operands[1], V8SFmode)
              || !(
#line 5409 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && 1 && 1) && 
#line 253 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
            return -1;
          return 2372; /* avx512f_cvtps2pd512 */

        case V4DFmode:
          if (!register_operand (operands[0], V4DFmode)
              || GET_MODE (x3) != V4DFmode
              || !vector_operand (operands[1], V4SFmode)
              || !
#line 5409 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && 1 && 1))
            return -1;
          return 2376; /* avx_cvtps2pd256 */

        default:
          return -1;
        }

    case VEC_SELECT:
      x5 = XEXP (x4, 1);
      if (GET_CODE (x5) != PARALLEL)
        return -1;
      x6 = XEXP (x4, 0);
      operands[1] = x6;
      switch (XVECLEN (x5, 0))
        {
        case 4:
          if (pattern320 (x3, V8SFmode, V4SFmode) != 0
              || !
#line 5422 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
            return -1;
          return 2378; /* *avx_cvtps2pd256_2 */

        case 8:
          if (pattern319 (x3, V16SFmode, V8SFmode) != 0
              || !
#line 5437 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2379; /* vec_unpacks_lo_v16sf */

        case 2:
          x7 = XVECEXP (x5, 0, 0);
          if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x8 = XVECEXP (x5, 0, 1);
          if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
              || !register_operand (operands[0], V2DFmode)
              || GET_MODE (x3) != V2DFmode
              || GET_MODE (x4) != V2SFmode
              || !vector_operand (operands[1], V4SFmode)
              || !
#line 5515 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1))
            return -1;
          return 2404; /* sse2_cvtps2pd */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_190 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  switch (pattern2 (x1))
    {
    case 0:
      switch (GET_MODE (operands[0]))
        {
        case TImode:
          x2 = XEXP (x1, 1);
          if (pattern209 (x2, pnum_clobbers, TImode) != 0
              || !(
#line 9012 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_unary_operator_ok (NEG, TImode, operands)) && 
#line 1042 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          *pnum_clobbers = 1;
          return 455; /* *negti2_doubleword */

        case QImode:
          x2 = XEXP (x1, 1);
          if (pattern209 (x2, pnum_clobbers, QImode) != 0
              || !
#line 9035 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_unary_operator_ok (NEG, QImode, operands)))
            return -1;
          *pnum_clobbers = 1;
          return 456; /* *negqi2_1 */

        case HImode:
          x2 = XEXP (x1, 1);
          if (pattern209 (x2, pnum_clobbers, HImode) != 0
              || !
#line 9035 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_unary_operator_ok (NEG, HImode, operands)))
            return -1;
          *pnum_clobbers = 1;
          return 457; /* *neghi2_1 */

        case SFmode:
          if (!register_operand (operands[0], SFmode))
            return -1;
          x2 = XEXP (x1, 1);
          if (GET_MODE (x2) != SFmode
              || !register_operand (operands[1], SFmode)
              || !
#line 9296 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387
   && (reload_completed
       || !(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH))))
            return -1;
          return 475; /* *negsf2_1 */

        case DFmode:
          if (!register_operand (operands[0], DFmode))
            return -1;
          x2 = XEXP (x1, 1);
          if (GET_MODE (x2) != DFmode
              || !register_operand (operands[1], DFmode)
              || !
#line 9296 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387
   && (reload_completed
       || !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH))))
            return -1;
          return 477; /* *negdf2_1 */

        case XFmode:
          if (!register_operand (operands[0], XFmode))
            return -1;
          x2 = XEXP (x1, 1);
          if (GET_MODE (x2) != XFmode
              || !register_operand (operands[1], XFmode)
              || !
#line 9296 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387
   && (reload_completed
       || !(SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH))))
            return -1;
          return 479; /* *negxf2_1 */

        default:
          return -1;
        }

    case 1:
      if (!
#line 9307 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && (!TARGET_SSE_MATH || TARGET_MIX_SSE_I387)))
        return -1;
      return 481; /* *negextendsfdf2 */

    case 2:
      if (!
#line 9316 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387))
        return -1;
      return 483; /* *negextendsfxf2 */

    case 3:
      if (!
#line 9325 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387))
        return -1;
      return 485; /* *negextenddfxf2 */

    default:
      return -1;
    }
}

static int
recog_191 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (pattern23 (x1))
    {
    case 0:
      if (!
#line 10826 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
        return -1;
      return 3156; /* avx512f_rolvv16si */

    case 1:
      if (!(
#line 10826 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 3160; /* avx512vl_rolvv8si */

    case 2:
      if (!(
#line 10826 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 3164; /* avx512vl_rolvv4si */

    case 3:
      if (!
#line 10826 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
        return -1;
      return 3168; /* avx512f_rolvv8di */

    case 4:
      if (!(
#line 10826 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 3172; /* avx512vl_rolvv4di */

    case 5:
      if (!(
#line 10826 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 3176; /* avx512vl_rolvv2di */

    case 6:
      if (!
#line 10836 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
        return -1;
      return 3180; /* avx512f_rolv16si */

    case 7:
      if (!(
#line 10836 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 3184; /* avx512vl_rolv8si */

    case 8:
      if (const_0_to_255_operand (operands[2], SImode)
          && (
#line 10836 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return 3188; /* avx512vl_rolv4si */
      if (!const_0_to_31_operand (operands[2], SImode)
          || !
#line 16682 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
        return -1;
      return 4032; /* xop_rotlv4si3 */

    case 9:
      if (!
#line 10836 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
        return -1;
      return 3192; /* avx512f_rolv8di */

    case 10:
      if (!(
#line 10836 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 3196; /* avx512vl_rolv4di */

    case 11:
      if (const_0_to_255_operand (operands[2], SImode)
          && (
#line 10836 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return 3200; /* avx512vl_rolv2di */
      if (!const_0_to_63_operand (operands[2], SImode)
          || !
#line 16682 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
        return -1;
      return 4033; /* xop_rotlv2di3 */

    case 12:
      if (!
#line 16682 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
        return -1;
      return 4030; /* xop_rotlv16qi3 */

    case 13:
      if (!
#line 16682 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
        return -1;
      return 4031; /* xop_rotlv8hi3 */

    default:
      return -1;
    }
}

static int
recog_192 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (pattern23 (x1))
    {
    case 0:
      if (!
#line 10826 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
        return -1;
      return 3158; /* avx512f_rorvv16si */

    case 1:
      if (!(
#line 10826 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 3162; /* avx512vl_rorvv8si */

    case 2:
      if (!(
#line 10826 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 3166; /* avx512vl_rorvv4si */

    case 3:
      if (!
#line 10826 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
        return -1;
      return 3170; /* avx512f_rorvv8di */

    case 4:
      if (!(
#line 10826 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 3174; /* avx512vl_rorvv4di */

    case 5:
      if (!(
#line 10826 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 3178; /* avx512vl_rorvv2di */

    case 6:
      if (!
#line 10836 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
        return -1;
      return 3182; /* avx512f_rorv16si */

    case 7:
      if (!(
#line 10836 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 3186; /* avx512vl_rorv8si */

    case 8:
      if (const_0_to_255_operand (operands[2], SImode)
          && (
#line 10836 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return 3190; /* avx512vl_rorv4si */
      if (!const_0_to_31_operand (operands[2], SImode)
          || !
#line 16693 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
        return -1;
      return 4036; /* xop_rotrv4si3 */

    case 9:
      if (!
#line 10836 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
        return -1;
      return 3194; /* avx512f_rorv8di */

    case 10:
      if (!(
#line 10836 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 3198; /* avx512vl_rorv4di */

    case 11:
      if (const_0_to_255_operand (operands[2], SImode)
          && (
#line 10836 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return 3202; /* avx512vl_rorv2di */
      if (!const_0_to_63_operand (operands[2], SImode)
          || !
#line 16693 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
        return -1;
      return 4037; /* xop_rotrv2di3 */

    case 12:
      if (!
#line 16693 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
        return -1;
      return 4034; /* xop_rotrv16qi3 */

    case 13:
      if (!
#line 16693 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
        return -1;
      return 4035; /* xop_rotrv8hi3 */

    default:
      return -1;
    }
}

static int
recog_193 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  res = recog_137 (x1, insn, pnum_clobbers);
  if (res >= 0)
    return res;
  operands[1] = x3;
  operands[2] = x4;
  x5 = XEXP (x3, 1);
  operands[3] = x5;
  switch (GET_CODE (operands[1]))
    {
    case NE:
    case EQ:
    case GE:
    case GT:
    case LE:
    case LT:
      switch (GET_MODE (operands[0]))
        {
        case V16QImode:
          if (pattern386 (V16QImode) == 0
              && 
#line 17050 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
            return 4058; /* xop_maskcmpv16qi3 */
          break;

        case V8HImode:
          if (pattern386 (V8HImode) == 0
              && 
#line 17050 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
            return 4059; /* xop_maskcmpv8hi3 */
          break;

        case V4SImode:
          if (pattern386 (V4SImode) == 0
              && 
#line 17050 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
            return 4060; /* xop_maskcmpv4si3 */
          break;

        case V2DImode:
          if (pattern386 (V2DImode) == 0
              && 
#line 17050 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
            return 4061; /* xop_maskcmpv2di3 */
          break;

        default:
          break;
        }
      break;

    default:
      break;
    }
  switch (GET_CODE (operands[1]))
    {
    case NE:
    case EQ:
    case GEU:
    case GTU:
    case LEU:
    case LTU:
      switch (GET_MODE (operands[0]))
        {
        case V16QImode:
          if (pattern387 (V16QImode) != 0
              || !
#line 17064 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
            return -1;
          return 4062; /* xop_maskcmp_unsv16qi3 */

        case V8HImode:
          if (pattern387 (V8HImode) != 0
              || !
#line 17064 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
            return -1;
          return 4063; /* xop_maskcmp_unsv8hi3 */

        case V4SImode:
          if (pattern387 (V4SImode) != 0
              || !
#line 17064 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
            return -1;
          return 4064; /* xop_maskcmp_unsv4si3 */

        case V2DImode:
          if (pattern387 (V2DImode) != 0
              || !
#line 17064 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP))
            return -1;
          return 4065; /* xop_maskcmp_unsv2di3 */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_194 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (pattern26 (x1))
    {
    case 0:
      if (!
#line 15235 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && 1 && 1))
        return -1;
      return 3832; /* avx2_sign_extendv16qiv16hi2 */

    case 1:
      if (!
#line 15246 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
        return -1;
      return 3836; /* avx512bw_sign_extendv32qiv32hi2 */

    case 2:
      if (!
#line 15274 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
        return -1;
      return 3844; /* *avx512f_sign_extendv16qiv16si2 */

    case 3:
      if (!
#line 15315 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
        return -1;
      return 3856; /* avx512f_sign_extendv16hiv16si2 */

    case 4:
      if (!
#line 15325 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && 1))
        return -1;
      return 3860; /* avx2_sign_extendv8hiv8si2 */

    case 5:
      if (!
#line 15394 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
        return -1;
      return 3880; /* avx512f_sign_extendv8hiv8di2 */

    case 6:
      if (!
#line 15432 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
        return -1;
      return 3892; /* avx512f_sign_extendv8siv8di2 */

    case 7:
      if (!
#line 15442 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && 1))
        return -1;
      return 3896; /* avx2_sign_extendv4siv4di2 */

    case 8:
      if (!
#line 15262 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1 && 1 && 1))
        return -1;
      return 3840; /* sse4_1_sign_extendv8qiv8hi2 */

    case 9:
      if (!
#line 15289 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && 1))
        return -1;
      return 3848; /* avx2_sign_extendv8qiv8si2 */

    case 10:
      if (!
#line 15356 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
        return -1;
      return 3868; /* avx512f_sign_extendv8qiv8di2 */

    case 11:
      if (!
#line 15303 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1 && 1))
        return -1;
      return 3852; /* sse4_1_sign_extendv4qiv4si2 */

    case 12:
      if (!
#line 15339 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1 && 1))
        return -1;
      return 3864; /* sse4_1_sign_extendv4hiv4si2 */

    case 13:
      if (!
#line 15369 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && 1))
        return -1;
      return 3872; /* avx2_sign_extendv4qiv4di2 */

    case 14:
      if (!
#line 15407 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && 1))
        return -1;
      return 3884; /* avx2_sign_extendv4hiv4di2 */

    case 15:
      if (!
#line 15382 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1 && 1))
        return -1;
      return 3876; /* sse4_1_sign_extendv2qiv2di2 */

    case 16:
      if (!
#line 15420 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1 && 1))
        return -1;
      return 3888; /* sse4_1_sign_extendv2hiv2di2 */

    case 17:
      if (!
#line 15455 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1 && 1))
        return -1;
      return 3900; /* sse4_1_sign_extendv2siv2di2 */

    default:
      return -1;
    }
}

static int
recog_195 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (pattern26 (x1))
    {
    case 0:
      if (!
#line 15235 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && 1 && 1))
        return -1;
      return 3834; /* avx2_zero_extendv16qiv16hi2 */

    case 1:
      if (!
#line 15246 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
        return -1;
      return 3838; /* avx512bw_zero_extendv32qiv32hi2 */

    case 2:
      if (!
#line 15274 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
        return -1;
      return 3846; /* *avx512f_zero_extendv16qiv16si2 */

    case 3:
      if (!
#line 15315 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
        return -1;
      return 3858; /* avx512f_zero_extendv16hiv16si2 */

    case 4:
      if (!
#line 15325 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && 1))
        return -1;
      return 3862; /* avx2_zero_extendv8hiv8si2 */

    case 5:
      if (!
#line 15394 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
        return -1;
      return 3882; /* avx512f_zero_extendv8hiv8di2 */

    case 6:
      if (!
#line 15432 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
        return -1;
      return 3894; /* avx512f_zero_extendv8siv8di2 */

    case 7:
      if (!
#line 15442 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && 1))
        return -1;
      return 3898; /* avx2_zero_extendv4siv4di2 */

    case 8:
      if (!
#line 15262 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1 && 1 && 1))
        return -1;
      return 3842; /* sse4_1_zero_extendv8qiv8hi2 */

    case 9:
      if (!
#line 15289 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && 1))
        return -1;
      return 3850; /* avx2_zero_extendv8qiv8si2 */

    case 10:
      if (!
#line 15356 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
        return -1;
      return 3870; /* avx512f_zero_extendv8qiv8di2 */

    case 11:
      if (!
#line 15303 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1 && 1))
        return -1;
      return 3854; /* sse4_1_zero_extendv4qiv4si2 */

    case 12:
      if (!
#line 15339 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1 && 1))
        return -1;
      return 3866; /* sse4_1_zero_extendv4hiv4si2 */

    case 13:
      if (!
#line 15369 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && 1))
        return -1;
      return 3874; /* avx2_zero_extendv4qiv4di2 */

    case 14:
      if (!
#line 15407 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2 && 1))
        return -1;
      return 3886; /* avx2_zero_extendv4hiv4di2 */

    case 15:
      if (!
#line 15382 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1 && 1))
        return -1;
      return 3878; /* sse4_1_zero_extendv2qiv2di2 */

    case 16:
      if (!
#line 15420 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1 && 1))
        return -1;
      return 3890; /* sse4_1_zero_extendv2hiv2di2 */

    case 17:
      if (!
#line 15455 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1 && 1))
        return -1;
      return 3902; /* sse4_1_zero_extendv2siv2di2 */

    default:
      return -1;
    }
}

static int
recog_196 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (pattern17 (x1))
    {
    case 0:
      if (!(
#line 3138 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && 1
   && ix86_binary_operator_ok (XOR, V8SFmode, operands)) && 
#line 230 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
        return -1;
      return 1745; /* *xorv8sf3 */

    case 1:
      if (!
#line 3138 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && 1
   && ix86_binary_operator_ok (XOR, V4SFmode, operands)))
        return -1;
      return 1751; /* *xorv4sf3 */

    case 2:
      if (!(
#line 3138 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && 1
   && ix86_binary_operator_ok (XOR, V4DFmode, operands)) && 
#line 231 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
        return -1;
      return 1757; /* *xorv4df3 */

    case 3:
      if (!(
#line 3138 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && 1
   && ix86_binary_operator_ok (XOR, V2DFmode, operands)) && 
#line 231 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
        return -1;
      return 1763; /* *xorv2df3 */

    case 4:
      if (!
#line 3203 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (XOR, V16SFmode, operands)))
        return -1;
      return 1769; /* *xorv16sf3 */

    case 5:
      if (!
#line 3203 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (XOR, V8DFmode, operands)))
        return -1;
      return 1775; /* *xorv8df3 */

    case 6:
      if (!(
#line 11656 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && 1
   && ix86_binary_operator_ok (XOR, V16SImode, operands)) && 
#line 425 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
        return -1;
      return 3418; /* *xorv16si3 */

    case 7:
      if (!(
#line 11656 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && 1
   && ix86_binary_operator_ok (XOR, V8SImode, operands)) && 
#line 425 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
        return -1;
      return 3424; /* *xorv8si3 */

    case 8:
      if (!
#line 11656 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && 1
   && ix86_binary_operator_ok (XOR, V4SImode, operands)))
        return -1;
      return 3430; /* *xorv4si3 */

    case 9:
      if (!(
#line 11656 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && 1
   && ix86_binary_operator_ok (XOR, V8DImode, operands)) && 
#line 426 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
        return -1;
      return 3436; /* *xorv8di3 */

    case 10:
      if (!(
#line 11656 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && 1
   && ix86_binary_operator_ok (XOR, V4DImode, operands)) && 
#line 426 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
        return -1;
      return 3442; /* *xorv4di3 */

    case 11:
      if (!
#line 11656 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && 1
   && ix86_binary_operator_ok (XOR, V2DImode, operands)))
        return -1;
      return 3448; /* *xorv2di3 */

    case 12:
      if (!(
#line 11754 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (XOR, V64QImode, operands)) && 
#line 429 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
        return -1;
      return 3454; /* *xorv64qi3 */

    case 13:
      if (!(
#line 11754 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (XOR, V32QImode, operands)) && 
#line 429 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
        return -1;
      return 3460; /* *xorv32qi3 */

    case 14:
      if (!
#line 11754 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (XOR, V16QImode, operands)))
        return -1;
      return 3466; /* *xorv16qi3 */

    case 15:
      if (!(
#line 11754 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (XOR, V32HImode, operands)) && 
#line 430 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
        return -1;
      return 3472; /* *xorv32hi3 */

    case 16:
      if (!(
#line 11754 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (XOR, V16HImode, operands)) && 
#line 430 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
        return -1;
      return 3478; /* *xorv16hi3 */

    case 17:
      if (!
#line 11754 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (XOR, V8HImode, operands)))
        return -1;
      return 3484; /* *xorv8hi3 */

    default:
      return -1;
    }
}

static int
recog_197 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (pattern17 (x1))
    {
    case 0:
      if (!(
#line 3138 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && 1
   && ix86_binary_operator_ok (IOR, V8SFmode, operands)) && 
#line 230 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
        return -1;
      return 1743; /* *iorv8sf3 */

    case 1:
      if (!
#line 3138 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && 1
   && ix86_binary_operator_ok (IOR, V4SFmode, operands)))
        return -1;
      return 1749; /* *iorv4sf3 */

    case 2:
      if (!(
#line 3138 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && 1
   && ix86_binary_operator_ok (IOR, V4DFmode, operands)) && 
#line 231 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
        return -1;
      return 1755; /* *iorv4df3 */

    case 3:
      if (!(
#line 3138 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && 1
   && ix86_binary_operator_ok (IOR, V2DFmode, operands)) && 
#line 231 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
        return -1;
      return 1761; /* *iorv2df3 */

    case 4:
      if (!
#line 3203 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (IOR, V16SFmode, operands)))
        return -1;
      return 1767; /* *iorv16sf3 */

    case 5:
      if (!
#line 3203 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && ix86_binary_operator_ok (IOR, V8DFmode, operands)))
        return -1;
      return 1773; /* *iorv8df3 */

    case 6:
      if (!(
#line 11656 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && 1
   && ix86_binary_operator_ok (IOR, V16SImode, operands)) && 
#line 425 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
        return -1;
      return 3416; /* *iorv16si3 */

    case 7:
      if (!(
#line 11656 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && 1
   && ix86_binary_operator_ok (IOR, V8SImode, operands)) && 
#line 425 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
        return -1;
      return 3422; /* *iorv8si3 */

    case 8:
      if (!
#line 11656 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && 1
   && ix86_binary_operator_ok (IOR, V4SImode, operands)))
        return -1;
      return 3428; /* *iorv4si3 */

    case 9:
      if (!(
#line 11656 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && 1
   && ix86_binary_operator_ok (IOR, V8DImode, operands)) && 
#line 426 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
        return -1;
      return 3434; /* *iorv8di3 */

    case 10:
      if (!(
#line 11656 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && 1
   && ix86_binary_operator_ok (IOR, V4DImode, operands)) && 
#line 426 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
        return -1;
      return 3440; /* *iorv4di3 */

    case 11:
      if (!
#line 11656 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && 1
   && ix86_binary_operator_ok (IOR, V2DImode, operands)))
        return -1;
      return 3446; /* *iorv2di3 */

    case 12:
      if (!(
#line 11754 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (IOR, V64QImode, operands)) && 
#line 429 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
        return -1;
      return 3452; /* *iorv64qi3 */

    case 13:
      if (!(
#line 11754 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (IOR, V32QImode, operands)) && 
#line 429 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
        return -1;
      return 3458; /* *iorv32qi3 */

    case 14:
      if (!
#line 11754 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (IOR, V16QImode, operands)))
        return -1;
      return 3464; /* *iorv16qi3 */

    case 15:
      if (!(
#line 11754 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (IOR, V32HImode, operands)) && 
#line 430 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
        return -1;
      return 3470; /* *iorv32hi3 */

    case 16:
      if (!(
#line 11754 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (IOR, V16HImode, operands)) && 
#line 430 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
        return -1;
      return 3476; /* *iorv16hi3 */

    case 17:
      if (!
#line 11754 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (IOR, V8HImode, operands)))
        return -1;
      return 3482; /* *iorv8hi3 */

    default:
      return -1;
    }
}

static int
recog_198 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (pattern19 (x1))
    {
    case 0:
      if (!
#line 4543 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
        return -1;
      return 2175; /* ufix_truncv16sfv16si2 */

    case 1:
      switch (GET_MODE (operands[1]))
        {
        case V8DFmode:
          if (!vector_operand (operands[1], V8DFmode)
              || !
#line 5125 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2294; /* ufix_truncv8dfv8si2 */

        case V8SFmode:
          if (!nonimmediate_operand (operands[1], V8SFmode)
              || !
#line 5218 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2352; /* ufix_truncv8sfv8si2 */

        default:
          return -1;
        }

    case 2:
      switch (GET_MODE (operands[1]))
        {
        case V4DFmode:
          if (!nonimmediate_operand (operands[1], V4DFmode)
              || !
#line 5154 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL && TARGET_AVX512F))
            return -1;
          return 2302; /* ufix_truncv4dfv4si2 */

        case V4SFmode:
          if (!nonimmediate_operand (operands[1], V4SFmode)
              || !
#line 5218 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2354; /* ufix_truncv4sfv4si2 */

        default:
          return -1;
        }

    case 3:
      if (!
#line 5164 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1))
        return -1;
      return 2308; /* ufix_truncv8dfv8di2 */

    case 4:
      if (!
#line 5196 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1))
        return -1;
      return 2340; /* ufix_truncv8sfv8di2 */

    case 5:
      if (!(
#line 5164 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1) && 
#line 279 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 2314; /* ufix_truncv4dfv4di2 */

    case 6:
      if (!(
#line 5196 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1) && 
#line 242 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 2346; /* ufix_truncv4sfv4di2 */

    case 7:
      if (!(
#line 5164 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1) && 
#line 279 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 2318; /* ufix_truncv2dfv2di2 */

    case 8:
      if (!
#line 5208 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && TARGET_AVX512VL))
        return -1;
      return 2350; /* ufix_truncv2sfv2di2 */

    default:
      return -1;
    }
}

static int
recog_199 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (pattern19 (x1))
    {
    case 0:
      if (!
#line 4543 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
        return -1;
      return 2171; /* fix_truncv16sfv16si2 */

    case 1:
      switch (GET_MODE (operands[1]))
        {
        case V8SFmode:
          if (!nonimmediate_operand (operands[1], V8SFmode)
              || !
#line 4552 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && 1))
            return -1;
          return 2179; /* fix_truncv8sfv8si2 */

        case V8DFmode:
          if (!vector_operand (operands[1], V8DFmode)
              || !
#line 5125 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2290; /* fix_truncv8dfv8si2 */

        default:
          return -1;
        }

    case 2:
      switch (GET_MODE (operands[1]))
        {
        case V4SFmode:
          if (!vector_operand (operands[1], V4SFmode)
              || !
#line 4561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1))
            return -1;
          return 2181; /* fix_truncv4sfv4si2 */

        case V4DFmode:
          if (!nonimmediate_operand (operands[1], V4DFmode)
              || !
#line 5145 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX || (TARGET_AVX512VL && TARGET_AVX512F)))
            return -1;
          return 2300; /* fix_truncv4dfv4si2 */

        default:
          return -1;
        }

    case 3:
      if (!
#line 5164 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1))
        return -1;
      return 2304; /* fix_truncv8dfv8di2 */

    case 4:
      if (!
#line 5196 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1))
        return -1;
      return 2336; /* fix_truncv8sfv8di2 */

    case 5:
      if (!(
#line 5164 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1) && 
#line 279 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 2312; /* fix_truncv4dfv4di2 */

    case 6:
      if (!(
#line 5196 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1) && 
#line 242 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 2344; /* fix_truncv4sfv4di2 */

    case 7:
      if (!(
#line 5164 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && 1) && 
#line 279 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))
        return -1;
      return 2316; /* fix_truncv2dfv2di2 */

    case 8:
      if (!
#line 5208 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && TARGET_AVX512VL))
        return -1;
      return 2348; /* fix_truncv2sfv2di2 */

    default:
      return -1;
    }
}

static int
recog_200 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != CLOBBER)
    return -1;
  x3 = XEXP (x2, 0);
  operands[0] = x3;
  if (register_operand (operands[0], HImode))
    {
      x4 = XVECEXP (x1, 0, 0);
      x5 = XEXP (x4, 0);
      if (GET_MODE (x5) == CCFPmode)
        {
          x6 = XEXP (x4, 1);
          if (GET_MODE (x6) == CCFPmode)
            {
              switch (pattern719 ())
                {
                case 0:
                  if (
#line 1496 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && TARGET_SAHF && !TARGET_CMOVE))
                    return 20; /* *cmpsf_0_cc_i387 */
                  break;

                case 1:
                  if (
#line 1496 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && TARGET_SAHF && !TARGET_CMOVE))
                    return 21; /* *cmpdf_0_cc_i387 */
                  break;

                case 2:
                  if (
#line 1496 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && TARGET_SAHF && !TARGET_CMOVE))
                    return 22; /* *cmpxf_0_cc_i387 */
                  break;

                default:
                  break;
                }
            }
        }
    }
  switch (GET_MODE (operands[1]))
    {
    case DImode:
      if (!nonimmediate_operand (operands[1], DImode)
          || !x86_64_immediate_operand (operands[2], DImode)
          || !scratch_operand (operands[0], DImode)
          || !
#line 6034 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT
   && ix86_match_ccmode (insn, CCGCmode)))
        return -1;
      return 233; /* *adddi_4 */

    case QImode:
      if (!nonimmediate_operand (operands[1], QImode)
          || !const_int_operand (operands[2], QImode)
          || !scratch_operand (operands[0], QImode)
          || !
#line 6079 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCGCmode)))
        return -1;
      return 234; /* *addqi_4 */

    case HImode:
      if (!nonimmediate_operand (operands[1], HImode)
          || !const_int_operand (operands[2], HImode)
          || !scratch_operand (operands[0], HImode)
          || !
#line 6079 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCGCmode)))
        return -1;
      return 235; /* *addhi_4 */

    case SImode:
      if (!nonimmediate_operand (operands[1], SImode)
          || !const_int_operand (operands[2], SImode)
          || !scratch_operand (operands[0], SImode)
          || !
#line 6079 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCGCmode)))
        return -1;
      return 236; /* *addsi_4 */

    default:
      return -1;
    }
}

static int
recog_201 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 1);
  operands[2] = x4;
  res = recog_200 (x1, insn, pnum_clobbers);
  if (res >= 0)
    return res;
  if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x5 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x5) != SET)
    return -1;
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) != CTZ)
    return -1;
  x7 = XEXP (x5, 0);
  operands[0] = x7;
  x8 = XEXP (x6, 0);
  if (!rtx_equal_p (x8, operands[1]))
    return -1;
  x9 = XEXP (x2, 0);
  switch (GET_MODE (x9))
    {
    case CCCmode:
      if (GET_MODE (x3) != CCCmode)
        return -1;
      switch (pattern747 (x6))
        {
        case 0:
          if (!
#line 12682 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI))
            return -1;
          return 697; /* *tzcntsi_1 */

        case 1:
          if (!(
#line 12682 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          return 698; /* *tzcntdi_1 */

        default:
          return -1;
        }

    case CCZmode:
      if (GET_MODE (x3) != CCZmode)
        return -1;
      switch (pattern747 (x6))
        {
        case 0:
          return 701; /* *bsfsi_1 */

        case 1:
          if (!
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
            return -1;
          return 702; /* *bsfdi_1 */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_202 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 1);
  if (!rtx_equal_p (x4, operands[1]))
    return -1;
  x5 = XEXP (x2, 0);
  if (GET_MODE (x5) != CCCmode
      || GET_MODE (x3) != CCCmode)
    return -1;
  x6 = XVECEXP (x1, 0, 1);
  switch (GET_CODE (x6))
    {
    case CLOBBER:
      switch (pattern438 (x1))
        {
        case 0:
          if (!
#line 6802 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))))
            return -1;
          return 309; /* *addqi3_cconly_overflow_1 */

        case 1:
          if (!
#line 6802 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))))
            return -1;
          return 310; /* *addhi3_cconly_overflow_1 */

        case 2:
          if (!
#line 6802 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))))
            return -1;
          return 311; /* *addsi3_cconly_overflow_1 */

        case 3:
          if (!(
#line 6802 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          return 312; /* *adddi3_cconly_overflow_1 */

        default:
          return -1;
        }

    case SET:
      switch (pattern615 (x1))
        {
        case 0:
          if (!
#line 6816 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, QImode, operands)))
            return -1;
          return 313; /* *addqi3_cc_overflow_1 */

        case 1:
          if (!
#line 6816 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, HImode, operands)))
            return -1;
          return 314; /* *addhi3_cc_overflow_1 */

        case 2:
          if (!
#line 6816 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, SImode, operands)))
            return -1;
          return 315; /* *addsi3_cc_overflow_1 */

        case 3:
          if (!(
#line 6816 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, DImode, operands)) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          return 316; /* *adddi3_cc_overflow_1 */

        case 4:
          if (!
#line 6830 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (PLUS, SImode, operands)))
            return -1;
          return 317; /* *addsi3_zext_cc_overflow_1 */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_203 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XEXP (x2, 0);
  switch (GET_CODE (x3))
    {
    case REG:
    case SUBREG:
    case MEM:
      operands[0] = x3;
      x4 = XVECEXP (x1, 0, 0);
      x5 = XEXP (x4, 1);
      x6 = XEXP (x5, 0);
      x7 = XEXP (x6, 0);
      operands[1] = x7;
      x8 = XEXP (x6, 1);
      operands[2] = x8;
      x9 = XEXP (x2, 1);
      x10 = XEXP (x9, 0);
      if (!rtx_equal_p (x10, operands[1]))
        return -1;
      x11 = XEXP (x9, 1);
      if (!rtx_equal_p (x11, operands[2]))
        return -1;
      switch (GET_MODE (x6))
        {
        case DImode:
          if (!nonimmediate_operand (operands[1], DImode)
              || !x86_64_szext_general_operand (operands[2], DImode)
              || !nonimmediate_operand (operands[0], DImode)
              || GET_MODE (x9) != DImode
              || !
#line 8375 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
          return 394; /* *anddi_2 */

        case QImode:
          if (pattern493 (x9, QImode) != 0)
            return -1;
          if (
#line 8418 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 396; /* *andqi_2_maybe_si */
          if (!
#line 8442 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && ix86_binary_operator_ok (AND, QImode, operands)))
            return -1;
          return 397; /* *andqi_2 */

        case HImode:
          if (pattern493 (x9, HImode) != 0
              || !
#line 8442 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && ix86_binary_operator_ok (AND, HImode, operands)))
            return -1;
          return 398; /* *andhi_2 */

        case SImode:
          if (pattern494 (x9, SImode) != 0
              || !
#line 8442 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && ix86_binary_operator_ok (AND, SImode, operands)))
            return -1;
          return 399; /* *andsi_2 */

        default:
          return -1;
        }

    case STRICT_LOW_PART:
      x4 = XVECEXP (x1, 0, 0);
      x5 = XEXP (x4, 1);
      x6 = XEXP (x5, 0);
      if (GET_MODE (x6) != QImode)
        return -1;
      x7 = XEXP (x6, 0);
      operands[0] = x7;
      if (!nonimmediate_operand (operands[0], QImode))
        return -1;
      x8 = XEXP (x6, 1);
      operands[1] = x8;
      if (!nonimmediate_operand (operands[1], QImode)
          || pattern496 (x2) != 0
          || !
#line 8456 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
      return 400; /* *andqi_2_slp */

    default:
      return -1;
    }
}

static int
recog_204 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != SET)
    return -1;
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) != PLUS)
    return -1;
  x4 = XVECEXP (x1, 0, 0);
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != CCZmode)
    return -1;
  x6 = XEXP (x4, 1);
  if (GET_MODE (x6) != CCZmode)
    return -1;
  x7 = XEXP (x6, 0);
  x8 = XVECEXP (x7, 0, 0);
  operands[0] = x8;
  x9 = XVECEXP (x7, 0, 1);
  operands[3] = x9;
  if (!const_int_operand (operands[3], SImode))
    return -1;
  x10 = XEXP (x3, 1);
  operands[1] = x10;
  x11 = XEXP (x3, 0);
  if (!rtx_equal_p (x11, operands[0]))
    return -1;
  x12 = XEXP (x2, 0);
  if (!rtx_equal_p (x12, operands[0]))
    return -1;
  switch (GET_MODE (x7))
    {
    case QImode:
      if (pattern883 (x3, QImode) != 0
          || !
#line 598 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sync.md"
((unsigned HOST_WIDE_INT) INTVAL (operands[1])
   == -(unsigned HOST_WIDE_INT) INTVAL (operands[2])))
        return -1;
      return 4978; /* *atomic_fetch_add_cmpqi */

    case HImode:
      if (pattern883 (x3, HImode) != 0
          || !
#line 598 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sync.md"
((unsigned HOST_WIDE_INT) INTVAL (operands[1])
   == -(unsigned HOST_WIDE_INT) INTVAL (operands[2])))
        return -1;
      return 4979; /* *atomic_fetch_add_cmphi */

    case SImode:
      if (pattern883 (x3, SImode) != 0
          || !
#line 598 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sync.md"
((unsigned HOST_WIDE_INT) INTVAL (operands[1])
   == -(unsigned HOST_WIDE_INT) INTVAL (operands[2])))
        return -1;
      return 4980; /* *atomic_fetch_add_cmpsi */

    case DImode:
      if (pattern883 (x3, DImode) != 0
          || !(
#line 598 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sync.md"
((unsigned HOST_WIDE_INT) INTVAL (operands[1])
   == -(unsigned HOST_WIDE_INT) INTVAL (operands[2])) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
        return -1;
      return 4981; /* *atomic_fetch_add_cmpdi */

    default:
      return -1;
    }
}

static int
recog_205 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  x5 = XEXP (x3, 1);
  switch (GET_CODE (x5))
    {
    case FLOAT:
      switch (pattern437 (x1))
        {
        case 0:
          if (!
#line 1633 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && TARGET_SAHF && !TARGET_CMOVE
   && (TARGET_USE_HIMODE_FIOP
       || optimize_function_for_size_p (cfun))))
            return -1;
          return 41; /* *cmpsf_hi_cc_i387 */

        case 1:
          if (!
#line 1633 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && TARGET_SAHF && !TARGET_CMOVE
   && (TARGET_USE_SIMODE_FIOP
       || optimize_function_for_size_p (cfun))))
            return -1;
          return 44; /* *cmpsf_si_cc_i387 */

        case 2:
          if (!
#line 1633 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && TARGET_SAHF && !TARGET_CMOVE
   && (TARGET_USE_HIMODE_FIOP
       || optimize_function_for_size_p (cfun))))
            return -1;
          return 42; /* *cmpdf_hi_cc_i387 */

        case 3:
          if (!
#line 1633 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && TARGET_SAHF && !TARGET_CMOVE
   && (TARGET_USE_SIMODE_FIOP
       || optimize_function_for_size_p (cfun))))
            return -1;
          return 45; /* *cmpdf_si_cc_i387 */

        case 4:
          if (!
#line 1633 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && TARGET_SAHF && !TARGET_CMOVE
   && (TARGET_USE_HIMODE_FIOP
       || optimize_function_for_size_p (cfun))))
            return -1;
          return 43; /* *cmpxf_hi_cc_i387 */

        case 5:
          if (!
#line 1633 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && TARGET_SAHF && !TARGET_CMOVE
   && (TARGET_USE_SIMODE_FIOP
       || optimize_function_for_size_p (cfun))))
            return -1;
          return 46; /* *cmpxf_si_cc_i387 */

        default:
          return -1;
        }

    case CONST_INT:
    case CONST_WIDE_INT:
    case CONST_FIXED:
    case CONST_DOUBLE:
    case CONST_VECTOR:
    case CONST:
    case REG:
    case SUBREG:
    case MEM:
    case LABEL_REF:
    case SYMBOL_REF:
    case HIGH:
      switch (GET_CODE (x5))
        {
        case CONST_INT:
        case CONST_DOUBLE:
        case CONST_VECTOR:
        case CONST:
        case LABEL_REF:
        case SYMBOL_REF:
          res = recog_201 (x1, insn, pnum_clobbers);
          if (res >= 0)
            return res;
          break;

        case REG:
        case SUBREG:
        case MEM:
          switch (pattern458 (x1))
            {
            case 0:
              if (
#line 1529 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && TARGET_SAHF && !TARGET_CMOVE))
                return 24; /* *cmpxf_cc_i387 */
              break;

            case 1:
              if (
#line 1562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && TARGET_SAHF && !TARGET_CMOVE))
                return 27; /* *cmpsf_cc_i387 */
              break;

            case 2:
              if (
#line 1562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && TARGET_SAHF && !TARGET_CMOVE))
                return 28; /* *cmpdf_cc_i387 */
              break;

            case 3:
              if (
#line 1595 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && TARGET_SAHF && !TARGET_CMOVE))
                return 32; /* *cmpusf_cc_i387 */
              break;

            case 4:
              if (
#line 1595 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && TARGET_SAHF && !TARGET_CMOVE))
                return 33; /* *cmpudf_cc_i387 */
              break;

            case 5:
              if (
#line 1595 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && TARGET_SAHF && !TARGET_CMOVE))
                return 34; /* *cmpuxf_cc_i387 */
              break;

            default:
              break;
            }
          break;

        default:
          break;
        }
      operands[2] = x5;
      x6 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x6) != SET)
        return -1;
      x7 = XEXP (x6, 0);
      operands[0] = x7;
      x8 = XEXP (x6, 1);
      switch (GET_CODE (x8))
        {
        case MINUS:
          x9 = XEXP (x8, 0);
          if (!rtx_equal_p (x9, operands[1]))
            return -1;
          x10 = XEXP (x8, 1);
          if (!rtx_equal_p (x10, operands[2]))
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case QImode:
              if (pattern731 (x8, QImode) != 0
                  || !
#line 6650 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCmode)
   && ix86_binary_operator_ok (MINUS, QImode, operands)))
                return -1;
              return 290; /* *subqi_3 */

            case HImode:
              if (pattern731 (x8, HImode) != 0
                  || !
#line 6650 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCmode)
   && ix86_binary_operator_ok (MINUS, HImode, operands)))
                return -1;
              return 291; /* *subhi_3 */

            case SImode:
              if (pattern732 (x8, SImode) != 0
                  || !
#line 6650 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCmode)
   && ix86_binary_operator_ok (MINUS, SImode, operands)))
                return -1;
              return 292; /* *subsi_3 */

            case DImode:
              if (pattern732 (x8, DImode) != 0
                  || !(
#line 6650 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCmode)
   && ix86_binary_operator_ok (MINUS, DImode, operands)) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              return 293; /* *subdi_3 */

            default:
              return -1;
            }

        case ZERO_EXTEND:
          if (GET_MODE (x8) != DImode)
            return -1;
          x9 = XEXP (x8, 0);
          if (GET_CODE (x9) != MINUS
              || GET_MODE (x9) != SImode
              || !register_operand (operands[1], SImode)
              || !x86_64_general_operand (operands[2], SImode)
              || !register_operand (operands[0], DImode))
            return -1;
          x11 = XEXP (x9, 0);
          if (!rtx_equal_p (x11, operands[1]))
            return -1;
          x12 = XEXP (x9, 1);
          if (!rtx_equal_p (x12, operands[2])
              || !
#line 6664 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_match_ccmode (insn, CCmode)
   && ix86_binary_operator_ok (MINUS, SImode, operands)))
            return -1;
          return 294; /* *subsi_3_zext */

        default:
          return -1;
        }

    case PLUS:
      x13 = XEXP (x5, 0);
      switch (GET_CODE (x13))
        {
        case GE:
        case GT:
        case LE:
        case LT:
        case GTU:
        case LTU:
        case UNEQ:
        case UNGE:
        case UNGT:
        case UNLE:
        case UNLT:
        case LTGT:
          operands[4] = x13;
          x14 = XEXP (x13, 1);
          if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x6 = XVECEXP (x1, 0, 1);
          if (GET_CODE (x6) != SET)
            return -1;
          x8 = XEXP (x6, 1);
          if (GET_CODE (x8) != MINUS)
            return -1;
          x9 = XEXP (x8, 0);
          if (GET_CODE (x9) != MINUS)
            return -1;
          x12 = XEXP (x9, 1);
          switch (GET_CODE (x12))
            {
            case GE:
            case GT:
            case LE:
            case LT:
            case GTU:
            case LTU:
            case UNEQ:
            case UNGE:
            case UNGT:
            case UNLE:
            case UNLT:
            case LTGT:
              if (!rtx_equal_p (x12, operands[4]))
                return -1;
              x15 = XEXP (x2, 0);
              if (GET_MODE (x15) != CCCmode
                  || GET_MODE (x3) != CCCmode)
                return -1;
              x16 = XEXP (x13, 0);
              operands[3] = x16;
              if (!flags_reg_operand (operands[3], VOIDmode))
                return -1;
              x17 = XEXP (x5, 1);
              operands[2] = x17;
              x7 = XEXP (x6, 0);
              operands[0] = x7;
              x11 = XEXP (x9, 0);
              if (!rtx_equal_p (x11, operands[1]))
                return -1;
              x10 = XEXP (x8, 1);
              if (!rtx_equal_p (x10, operands[2]))
                return -1;
              switch (GET_MODE (operands[1]))
                {
                case SImode:
                  if (pattern935 (x1, SImode) != 0
                      || !
#line 6774 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (MINUS, SImode, operands)))
                    return -1;
                  return 307; /* subborrowsi */

                case DImode:
                  if (pattern935 (x1, DImode) != 0
                      || !(
#line 6774 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (MINUS, DImode, operands)) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                    return -1;
                  return 308; /* subborrowdi */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_206 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 1);
  operands[2] = x5;
  x6 = XEXP (x4, 0);
  switch (GET_CODE (x6))
    {
    case REG:
    case SUBREG:
    case MEM:
      operands[1] = x6;
      x7 = XEXP (x3, 1);
      switch (GET_CODE (x7))
        {
        case CONST_INT:
          if (XWINT (x7, 0) == 0LL)
            {
              x8 = XVECEXP (x1, 0, 1);
              switch (GET_CODE (x8))
                {
                case SET:
                  switch (pattern615 (x1))
                    {
                    case 0:
                      if (
#line 5856 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCGOCmode)
   && ix86_binary_operator_ok (PLUS, QImode, operands)))
                        return 223; /* *addqi_2 */
                      break;

                    case 1:
                      if (
#line 5856 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCGOCmode)
   && ix86_binary_operator_ok (PLUS, HImode, operands)))
                        return 224; /* *addhi_2 */
                      break;

                    case 2:
                      if (
#line 5856 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCGOCmode)
   && ix86_binary_operator_ok (PLUS, SImode, operands)))
                        return 225; /* *addsi_2 */
                      break;

                    case 3:
                      if ((
#line 5856 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCGOCmode)
   && ix86_binary_operator_ok (PLUS, DImode, operands)) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                        return 226; /* *adddi_2 */
                      break;

                    case 4:
                      if (
#line 5901 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_match_ccmode (insn, CCGOCmode)
   && ix86_binary_operator_ok (PLUS, SImode, operands)))
                        return 227; /* *addsi_2_zext */
                      break;

                    default:
                      break;
                    }
                  break;

                case CLOBBER:
                  switch (pattern438 (x1))
                    {
                    case 0:
                      if (
#line 6118 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCGOCmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
                        return 237; /* *addqi_5 */
                      break;

                    case 1:
                      if (
#line 6118 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCGOCmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
                        return 238; /* *addhi_5 */
                      break;

                    case 2:
                      if (
#line 6118 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCGOCmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
                        return 239; /* *addsi_5 */
                      break;

                    case 3:
                      if ((
#line 6118 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCGOCmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                        return 240; /* *adddi_5 */
                      break;

                    default:
                      break;
                    }
                  break;

                default:
                  break;
                }
            }
          break;

        case REG:
        case SUBREG:
        case MEM:
          res = recog_202 (x1, insn, pnum_clobbers);
          if (res >= 0)
            return res;
          break;

        default:
          break;
        }
      x9 = XEXP (x2, 0);
      if (GET_MODE (x9) != CCCmode
          || GET_MODE (x3) != CCCmode
          || !rtx_equal_p (x7, operands[2]))
        return -1;
      x8 = XVECEXP (x1, 0, 1);
      switch (GET_CODE (x8))
        {
        case CLOBBER:
          switch (pattern438 (x1))
            {
            case 0:
              if (!
#line 6843 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))))
                return -1;
              return 318; /* *addqi3_cconly_overflow_2 */

            case 1:
              if (!
#line 6843 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))))
                return -1;
              return 319; /* *addhi3_cconly_overflow_2 */

            case 2:
              if (!
#line 6843 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))))
                return -1;
              return 320; /* *addsi3_cconly_overflow_2 */

            case 3:
              if (!(
#line 6843 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              return 321; /* *adddi3_cconly_overflow_2 */

            default:
              return -1;
            }

        case SET:
          switch (pattern615 (x1))
            {
            case 0:
              if (!
#line 6857 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, QImode, operands)))
                return -1;
              return 322; /* *addqi3_cc_overflow_2 */

            case 1:
              if (!
#line 6857 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, HImode, operands)))
                return -1;
              return 323; /* *addhi3_cc_overflow_2 */

            case 2:
              if (!
#line 6857 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, SImode, operands)))
                return -1;
              return 324; /* *addsi3_cc_overflow_2 */

            case 3:
              if (!(
#line 6857 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, DImode, operands)) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              return 325; /* *adddi3_cc_overflow_2 */

            case 4:
              if (!
#line 6871 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (PLUS, SImode, operands)))
                return -1;
              return 326; /* *addsi3_zext_cc_overflow_2 */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case PLUS:
      x10 = XEXP (x6, 0);
      switch (GET_CODE (x10))
        {
        case GE:
        case GT:
        case LE:
        case LT:
        case GTU:
        case LTU:
        case UNEQ:
        case UNGE:
        case UNGT:
        case UNLE:
        case UNLT:
        case LTGT:
          operands[4] = x10;
          x11 = XEXP (x10, 1);
          if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x8 = XVECEXP (x1, 0, 1);
          if (GET_CODE (x8) != SET)
            return -1;
          x12 = XEXP (x8, 1);
          if (GET_CODE (x12) != PLUS)
            return -1;
          x13 = XEXP (x12, 0);
          if (GET_CODE (x13) != PLUS)
            return -1;
          x14 = XEXP (x13, 0);
          switch (GET_CODE (x14))
            {
            case GE:
            case GT:
            case LE:
            case LT:
            case GTU:
            case LTU:
            case UNEQ:
            case UNGE:
            case UNGT:
            case UNLE:
            case UNLT:
            case LTGT:
              if (!rtx_equal_p (x14, operands[4]))
                return -1;
              x9 = XEXP (x2, 0);
              if (GET_MODE (x9) != CCCmode
                  || GET_MODE (x3) != CCCmode)
                return -1;
              x15 = XEXP (x10, 0);
              operands[3] = x15;
              if (!flags_reg_operand (operands[3], VOIDmode))
                return -1;
              x16 = XEXP (x6, 1);
              operands[1] = x16;
              x17 = XEXP (x8, 0);
              operands[0] = x17;
              x7 = XEXP (x3, 1);
              if (!rtx_equal_p (x7, operands[1]))
                return -1;
              x18 = XEXP (x13, 1);
              if (!rtx_equal_p (x18, operands[1]))
                return -1;
              x19 = XEXP (x12, 1);
              if (!rtx_equal_p (x19, operands[2]))
                return -1;
              switch (GET_MODE (x4))
                {
                case SImode:
                  if (pattern942 (x1, SImode) != 0
                      || !
#line 6721 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, SImode, operands)))
                    return -1;
                  return 300; /* addcarrysi */

                case DImode:
                  if (pattern942 (x1, DImode) != 0
                      || !(
#line 6721 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, DImode, operands)) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                    return -1;
                  return 301; /* addcarrydi */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_207 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 1);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
    case MEM:
      operands[1] = x4;
      x5 = XEXP (x3, 0);
      x6 = XEXP (x5, 0);
      operands[2] = x6;
      x7 = XVECEXP (x1, 0, 1);
      switch (GET_CODE (x7))
        {
        case CLOBBER:
          x8 = XEXP (x7, 0);
          operands[0] = x8;
          switch (GET_MODE (x5))
            {
            case QImode:
              if (!general_operand (operands[2], QImode)
                  || !nonimmediate_operand (operands[1], QImode)
                  || !scratch_operand (operands[0], QImode)
                  || !
#line 5942 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCZmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
                return -1;
              return 228; /* *addqi_3 */

            case HImode:
              if (!general_operand (operands[2], HImode)
                  || !nonimmediate_operand (operands[1], HImode)
                  || !scratch_operand (operands[0], HImode)
                  || !
#line 5942 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCZmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
                return -1;
              return 229; /* *addhi_3 */

            case SImode:
              if (!x86_64_general_operand (operands[2], SImode)
                  || !nonimmediate_operand (operands[1], SImode)
                  || !scratch_operand (operands[0], SImode)
                  || !
#line 5942 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCZmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
                return -1;
              return 230; /* *addsi_3 */

            case DImode:
              if (!x86_64_general_operand (operands[2], DImode)
                  || !nonimmediate_operand (operands[1], DImode)
                  || !scratch_operand (operands[0], DImode)
                  || !(
#line 5942 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCZmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              return 231; /* *adddi_3 */

            default:
              return -1;
            }

        case SET:
          x9 = XEXP (x7, 1);
          if (GET_CODE (x9) != ZERO_EXTEND
              || pattern575 (x1, PLUS) != 0
              || !x86_64_general_operand (operands[2], SImode)
              || !nonimmediate_operand (operands[1], SImode))
            return -1;
          x8 = XEXP (x7, 0);
          operands[0] = x8;
          if (!register_operand (operands[0], DImode))
            return -1;
          x10 = XEXP (x9, 0);
          x11 = XEXP (x10, 0);
          if (!rtx_equal_p (x11, operands[1]))
            return -1;
          x12 = XEXP (x10, 1);
          if (!rtx_equal_p (x12, operands[2])
              || !
#line 5986 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_match_ccmode (insn, CCZmode)
   && ix86_binary_operator_ok (PLUS, SImode, operands)))
            return -1;
          return 232; /* *addsi_3_zext */

        default:
          return -1;
        }

    case CONST_INT:
      if (XWINT (x4, 0) != 0LL)
        return -1;
      x7 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x7) != SET)
        return -1;
      x9 = XEXP (x7, 1);
      if (GET_CODE (x9) != NEG)
        return -1;
      x13 = XEXP (x2, 0);
      if (GET_MODE (x13) != CCZmode
          || GET_MODE (x3) != CCZmode)
        return -1;
      x5 = XEXP (x3, 0);
      x6 = XEXP (x5, 0);
      operands[1] = x6;
      x8 = XEXP (x7, 0);
      operands[0] = x8;
      switch (pattern576 (x1))
        {
        case 0:
          if (!
#line 9064 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_unary_operator_ok (NEG, QImode, operands)))
            return -1;
          return 461; /* *negqi2_cmpz */

        case 1:
          if (!
#line 9064 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_unary_operator_ok (NEG, HImode, operands)))
            return -1;
          return 462; /* *neghi2_cmpz */

        case 2:
          if (!
#line 9064 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_unary_operator_ok (NEG, SImode, operands)))
            return -1;
          return 463; /* *negsi2_cmpz */

        case 3:
          if (!(
#line 9064 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_unary_operator_ok (NEG, DImode, operands)) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          return 464; /* *negdi2_cmpz */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_208 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 1);
  if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x5 = XEXP (x3, 0);
  x6 = XEXP (x5, 0);
  switch (GET_CODE (x6))
    {
    case NEG:
      if (GET_MODE (x6) != DImode)
        return -1;
      x7 = XEXP (x6, 0);
      if (GET_CODE (x7) != ASHIFT
          || GET_MODE (x7) != DImode)
        return -1;
      x8 = XEXP (x7, 1);
      if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 32])
        return -1;
      x9 = XEXP (x5, 1);
      if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 32])
        return -1;
      x10 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x10) != SET)
        return -1;
      x11 = XEXP (x10, 1);
      if (GET_CODE (x11) != LSHIFTRT
          || GET_MODE (x11) != DImode)
        return -1;
      x12 = XEXP (x11, 0);
      if (GET_CODE (x12) != NEG
          || GET_MODE (x12) != DImode)
        return -1;
      x13 = XEXP (x12, 0);
      if (GET_CODE (x13) != ASHIFT
          || GET_MODE (x13) != DImode)
        return -1;
      x14 = XEXP (x13, 1);
      if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 32])
        return -1;
      x15 = XEXP (x11, 1);
      if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 32])
        return -1;
      x16 = XEXP (x2, 0);
      if (GET_MODE (x16) != CCZmode
          || GET_MODE (x3) != CCZmode
          || GET_MODE (x5) != DImode)
        return -1;
      x17 = XEXP (x7, 0);
      operands[1] = x17;
      if (!register_operand (operands[1], DImode))
        return -1;
      x18 = XEXP (x10, 0);
      operands[0] = x18;
      if (!register_operand (operands[0], DImode))
        return -1;
      x19 = XEXP (x13, 0);
      if (!rtx_equal_p (x19, operands[1])
          || !
#line 9082 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_unary_operator_ok (NEG, SImode, operands)))
        return -1;
      return 465; /* *negsi2_cmpz_zext */

    case REG:
    case SUBREG:
    case MEM:
      switch (pattern391 (x1))
        {
        case 0:
          x10 = XVECEXP (x1, 0, 1);
          x11 = XEXP (x10, 1);
          switch (GET_CODE (x11))
            {
            case LSHIFTRT:
              switch (pattern617 (x1))
                {
                case 0:
                  if (!
#line 10472 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
                  return 558; /* *lshrqi3_cmp */

                case 1:
                  if (!
#line 10472 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
                  return 560; /* *lshrhi3_cmp */

                case 2:
                  if (!
#line 10472 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
                  return 562; /* *lshrsi3_cmp */

                case 3:
                  if (!(
#line 10472 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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, DImode, operands)) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                    return -1;
                  return 564; /* *lshrdi3_cmp */

                default:
                  return -1;
                }

            case ZERO_EXTEND:
              if (pattern618 (x1, LSHIFTRT) != 0
                  || !
#line 10503 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
              return 566; /* *lshrsi3_cmp_zext */

            default:
              return -1;
            }

        case 1:
          if (!
#line 10535 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
          return 568; /* *lshrqi3_cconly */

        case 2:
          if (!
#line 10535 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
          return 570; /* *lshrhi3_cconly */

        case 3:
          if (!
#line 10535 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
          return 572; /* *lshrsi3_cconly */

        case 4:
          if (!(
#line 10535 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          return 574; /* *lshrdi3_cconly */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_209 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  operands[0] = x3;
  x4 = XVECEXP (x1, 0, 1);
  switch (GET_CODE (x4))
    {
    case CLOBBER:
      x5 = XEXP (x2, 1);
      operands[1] = x5;
      x6 = XEXP (x4, 0);
      switch (GET_CODE (x6))
        {
        case MEM:
          if (GET_MODE (x6) != BLKmode)
            return -1;
          x7 = XEXP (x6, 0);
          if (GET_CODE (x7) != SCRATCH)
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case SImode:
              if (push_operand (operands[0], SImode)
                  && general_no_elim_operand (operands[1], SImode)
                  && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode))
                return 64; /* *pushsi2_prologue */
              if (!nonimmediate_operand (operands[0], SImode)
                  || !pop_operand (operands[1], SImode)
                  || !
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode))
                return -1;
              return 68; /* *popsi1_epilogue */

            case DImode:
              if (push_operand (operands[0], DImode)
                  && general_no_elim_operand (operands[1], DImode)
                  && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode))
                return 65; /* *pushdi2_prologue */
              if (!nonimmediate_operand (operands[0], DImode)
                  || !pop_operand (operands[1], DImode)
                  || !
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode))
                return -1;
              return 69; /* *popdi1_epilogue */

            default:
              return -1;
            }

        case REG:
          if (REGNO (x6) != 17
              || GET_MODE (x6) != CCmode)
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case SImode:
              if (!register_operand (operands[0], SImode))
                return -1;
              if (const0_operand (operands[1], SImode)
                  && 
#line 1977 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
                return 74; /* *movsi_xor */
              if (!constm1_operand (operands[1], SImode)
                  || !
#line 1988 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
                return -1;
              return 76; /* *movsi_or */

            case DImode:
              if (!register_operand (operands[0], DImode))
                return -1;
              if (const0_operand (operands[1], DImode)
                  && (
#line 1977 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return 75; /* *movdi_xor */
              if (!constm1_operand (operands[1], DImode)
                  || !(
#line 1988 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              return 77; /* *movdi_or */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case SET:
      x8 = XEXP (x4, 1);
      switch (GET_CODE (x8))
        {
        case REG:
        case SUBREG:
          if (!rtx_equal_p (x8, operands[0]))
            return -1;
          x5 = XEXP (x2, 1);
          operands[1] = x5;
          x6 = XEXP (x4, 0);
          if (!rtx_equal_p (x6, operands[1]))
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case SImode:
              if (!register_operand (operands[0], SImode)
                  || !register_operand (operands[1], SImode))
                return -1;
              return 93; /* *swapsi */

            case DImode:
              if (!register_operand (operands[0], DImode)
                  || !register_operand (operands[1], DImode)
                  || !
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
                return -1;
              return 94; /* *swapdi */

            case QImode:
              if (!register_operand (operands[0], QImode)
                  || !register_operand (operands[1], QImode))
                return -1;
              return 95; /* *swapqi */

            case HImode:
              if (!register_operand (operands[0], HImode)
                  || !register_operand (operands[1], HImode))
                return -1;
              return 96; /* *swaphi */

            case XFmode:
              if (!register_operand (operands[0], XFmode)
                  || !register_operand (operands[1], XFmode)
                  || !
#line 3708 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387))
                return -1;
              return 128; /* swapxf */

            case SFmode:
              if (!fp_register_operand (operands[0], SFmode)
                  || !fp_register_operand (operands[1], SFmode)
                  || !
#line 3723 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 || reload_completed))
                return -1;
              return 129; /* *swapsf */

            case DFmode:
              if (!fp_register_operand (operands[0], DFmode)
                  || !fp_register_operand (operands[1], DFmode)
                  || !
#line 3723 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 || reload_completed))
                return -1;
              return 130; /* *swapdf */

            default:
              return -1;
            }

        case UNSPEC:
          if (XVECLEN (x8, 0) != 1
              || XINT (x8, 1) != 59
              || GET_MODE (x8) != XFmode)
            return -1;
          x5 = XEXP (x2, 1);
          operands[3] = x5;
          x6 = XEXP (x4, 0);
          operands[1] = x6;
          if (!register_operand (operands[1], XFmode))
            return -1;
          x9 = XVECEXP (x8, 0, 0);
          switch (GET_CODE (x9))
            {
            case REG:
            case SUBREG:
              operands[2] = x9;
              if (!register_operand (operands[2], XFmode)
                  || !register_operand (operands[0], XFmode)
                  || !const_double_operand (operands[3], XFmode)
                  || !
#line 14667 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && standard_80387_constant_p (operands[3]) == 2))
                return -1;
              return 847; /* fptanxf4_i387 */

            case FLOAT_EXTEND:
              if (GET_MODE (x9) != XFmode)
                return -1;
              x10 = XEXP (x9, 0);
              operands[2] = x10;
              switch (GET_MODE (operands[0]))
                {
                case SFmode:
                  if (!register_operand (operands[0], SFmode)
                      || !const_double_operand (operands[3], SFmode)
                      || !register_operand (operands[2], SFmode)
                      || !
#line 14682 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
                  return 848; /* fptan_extendsfxf4_i387 */

                case DFmode:
                  if (!register_operand (operands[0], DFmode)
                      || !const_double_operand (operands[3], DFmode)
                      || !register_operand (operands[2], DFmode)
                      || !
#line 14682 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
                  return 849; /* fptan_extenddfxf4_i387 */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_210 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != USE)
    return -1;
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != LABEL_REF)
    return -1;
  x4 = XVECEXP (x1, 0, 0);
  x5 = XEXP (x4, 1);
  operands[0] = x5;
  x6 = XEXP (x3, 0);
  operands[1] = x6;
  switch (GET_MODE (operands[0]))
    {
    case SImode:
      if (!indirect_branch_operand (operands[0], SImode)
          || !
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode))
        return -1;
      return 652; /* *tablejump_1 */

    case DImode:
      if (!indirect_branch_operand (operands[0], DImode)
          || !
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode))
        return -1;
      return 653; /* *tablejump_1 */

    default:
      return -1;
    }
}

static int
recog_211 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (pattern115 (x2, CCmode, 17) != 0)
    return -1;
  switch (GET_CODE (operands[1]))
    {
    case REG:
    case SUBREG:
    case MEM:
      switch (GET_MODE (operands[0]))
        {
        case DImode:
          if (!nonimmediate_operand (operands[0], DImode))
            return -1;
          x3 = XVECEXP (x1, 0, 0);
          x4 = XEXP (x3, 1);
          if (GET_MODE (x4) != DImode
              || !nonimmediate_operand (operands[1], DImode))
            return -1;
          if ((
#line 9012 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_unary_operator_ok (NEG, DImode, operands)) && 
#line 1041 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT)))
            return 454; /* *negdi2_doubleword */
          if (!(
#line 9035 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_unary_operator_ok (NEG, DImode, operands)) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          return 459; /* *negdi2_1 */

        case TImode:
          if (!nonimmediate_operand (operands[0], TImode))
            return -1;
          x3 = XVECEXP (x1, 0, 0);
          x4 = XEXP (x3, 1);
          if (GET_MODE (x4) != TImode
              || !nonimmediate_operand (operands[1], TImode)
              || !(
#line 9012 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_unary_operator_ok (NEG, TImode, operands)) && 
#line 1042 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          return 455; /* *negti2_doubleword */

        case QImode:
          if (!nonimmediate_operand (operands[0], QImode))
            return -1;
          x3 = XVECEXP (x1, 0, 0);
          x4 = XEXP (x3, 1);
          if (GET_MODE (x4) != QImode
              || !nonimmediate_operand (operands[1], QImode)
              || !
#line 9035 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_unary_operator_ok (NEG, QImode, operands)))
            return -1;
          return 456; /* *negqi2_1 */

        case HImode:
          if (!nonimmediate_operand (operands[0], HImode))
            return -1;
          x3 = XVECEXP (x1, 0, 0);
          x4 = XEXP (x3, 1);
          if (GET_MODE (x4) != HImode
              || !nonimmediate_operand (operands[1], HImode)
              || !
#line 9035 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_unary_operator_ok (NEG, HImode, operands)))
            return -1;
          return 457; /* *neghi2_1 */

        case SImode:
          if (!nonimmediate_operand (operands[0], SImode))
            return -1;
          x3 = XVECEXP (x1, 0, 0);
          x4 = XEXP (x3, 1);
          if (GET_MODE (x4) != SImode
              || !nonimmediate_operand (operands[1], SImode)
              || !
#line 9035 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_unary_operator_ok (NEG, SImode, operands)))
            return -1;
          return 458; /* *negsi2_1 */

        default:
          return -1;
        }

    case GE:
    case GT:
    case LE:
    case LT:
    case GTU:
    case LTU:
    case UNEQ:
    case UNGE:
    case UNGT:
    case UNLE:
    case UNLT:
    case LTGT:
      if (!ix86_carry_flag_operator (operands[1], VOIDmode))
        return -1;
      x3 = XVECEXP (x1, 0, 0);
      x4 = XEXP (x3, 1);
      x5 = XEXP (x4, 0);
      x6 = XEXP (x5, 0);
      if (GET_CODE (x6) != REG
          || REGNO (x6) != 17)
        return -1;
      x7 = XEXP (x5, 1);
      if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      switch (pattern272 (x4))
        {
        case 0:
          return 961; /* *x86_movsicc_0_m1_neg */

        case 1:
          if (!
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
            return -1;
          return 962; /* *x86_movdicc_0_m1_neg */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_212 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  operands[0] = x3;
  x4 = XEXP (x2, 1);
  x5 = XEXP (x4, 1);
  switch (GET_CODE (x5))
    {
    case SUBREG:
      if (XINT (x5, 1) != 0
          || GET_MODE (x5) != QImode)
        return -1;
      x6 = XEXP (x5, 0);
      if (GET_CODE (x6) != AND
          || GET_MODE (x6) != SImode)
        return -1;
      x7 = XVECEXP (x1, 0, 1);
      if (pattern115 (x7, CCmode, 17) != 0)
        return -1;
      switch (pattern137 (x4))
        {
        case 0:
          if (!
#line 10148 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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
   && can_create_pseudo_p ()))
            return -1;
          return 527; /* *lshrsi3_mask */

        case 1:
          if (!(
#line 10148 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
   && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
      == GET_MODE_BITSIZE (DImode)-1
   && can_create_pseudo_p ()) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          return 529; /* *lshrdi3_mask */

        default:
          return -1;
        }

    case CONST_INT:
    case CONST_WIDE_INT:
    case CONST_FIXED:
    case CONST_DOUBLE:
    case CONST_VECTOR:
    case CONST:
    case LABEL_REF:
    case SYMBOL_REF:
    case HIGH:
      operands[2] = x5;
      if (!immediate_operand (operands[2], QImode))
        return -1;
      x7 = XVECEXP (x1, 0, 1);
      if (pattern504 (x7, 170) != 0)
        return -1;
      switch (pattern553 (x4))
        {
        case 0:
          if (!(
#line 1431 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1303 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ)))
            return -1;
          return 1325; /* klshiftrtqi */

        case 1:
          if (!
#line 1431 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 1327; /* klshiftrthi */

        case 2:
          if (!(
#line 1431 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1303 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 1329; /* klshiftrtsi */

        case 3:
          if (!(
#line 1431 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1303 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 1331; /* klshiftrtdi */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_213 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != UNSPEC
      || XVECLEN (x2, 0) != 1
      || XINT (x2, 1) != 173)
    return -1;
  x3 = XVECEXP (x1, 0, 0);
  x4 = XEXP (x3, 0);
  operands[0] = x4;
  x5 = XEXP (x3, 1);
  x6 = XVECEXP (x5, 0, 0);
  operands[1] = x6;
  x7 = XVECEXP (x2, 0, 0);
  operands[2] = x7;
  if (!const48_operand (operands[2], SImode))
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case V16SFmode:
      if (!register_operand (operands[0], V16SFmode)
          || GET_MODE (x5) != V16SFmode
          || !register_operand (operands[1], V16SFmode)
          || !
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
        return -1;
      return 2578; /* avx512f_getexpv16sf_round */

    case V8SFmode:
      if (!register_operand (operands[0], V8SFmode)
          || GET_MODE (x5) != V8SFmode
          || !register_operand (operands[1], V8SFmode)
          || !(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8257 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
        return -1;
      return 2582; /* avx512vl_getexpv8sf_round */

    case V4SFmode:
      if (!register_operand (operands[0], V4SFmode)
          || GET_MODE (x5) != V4SFmode
          || !register_operand (operands[1], V4SFmode)
          || !(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8257 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
        return -1;
      return 2586; /* avx512vl_getexpv4sf_round */

    case V8DFmode:
      if (!register_operand (operands[0], V8DFmode)
          || GET_MODE (x5) != V8DFmode
          || !register_operand (operands[1], V8DFmode)
          || !
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
        return -1;
      return 2590; /* avx512f_getexpv8df_round */

    case V4DFmode:
      if (!register_operand (operands[0], V4DFmode)
          || GET_MODE (x5) != V4DFmode
          || !register_operand (operands[1], V4DFmode)
          || !(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8257 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
        return -1;
      return 2594; /* avx512vl_getexpv4df_round */

    case V2DFmode:
      if (!register_operand (operands[0], V2DFmode)
          || GET_MODE (x5) != V2DFmode
          || !register_operand (operands[1], V2DFmode)
          || !(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8257 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
        return -1;
      return 2598; /* avx512vl_getexpv2df_round */

    default:
      return -1;
    }
}

static int
recog_214 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XVECEXP (x3, 0, 2);
  if (GET_CODE (x4) != MEM)
    return -1;
  x5 = XEXP (x4, 0);
  if (GET_CODE (x5) != UNSPEC
      || XVECLEN (x5, 0) != 3
      || XINT (x5, 1) != 147)
    return -1;
  x6 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x6) != CLOBBER)
    return -1;
  x7 = XVECEXP (x5, 0, 2);
  if (!const1248_operand (x7, SImode))
    return -1;
  x8 = XVECEXP (x3, 0, 0);
  switch (GET_CODE (x8))
    {
    case REG:
    case SUBREG:
      operands[1] = x8;
      x9 = XVECEXP (x3, 0, 1);
      operands[7] = x9;
      operands[6] = x4;
      x10 = XVECEXP (x5, 0, 0);
      operands[4] = x10;
      x11 = XVECEXP (x5, 0, 1);
      operands[3] = x11;
      operands[5] = x7;
      x12 = XEXP (x6, 0);
      operands[2] = x12;
      switch (GET_MODE (operands[0]))
        {
        case V16SImode:
          if (!register_operand (operands[0], V16SImode)
              || GET_MODE (x3) != V16SImode
              || !vsib_mem_operator (operands[6], SImode))
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case V16SImode:
              if (!register_operand (operands[1], V16SImode))
                return -1;
              switch (pattern944 (x5, HImode, V16SImode))
                {
                case 0:
                  if (!(
#line 19194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  return 4621; /* *avx512f_gathersiv16si */

                case 1:
                  if (!(
#line 19194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  return 4622; /* *avx512f_gathersiv16si */

                default:
                  return -1;
                }

            case V8SImode:
              if (!register_operand (operands[1], V8SImode))
                return -1;
              switch (pattern944 (x5, QImode, V8DImode))
                {
                case 0:
                  if (!(
#line 19252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  return 4669; /* *avx512f_gatherdiv16si */

                case 1:
                  if (!(
#line 19252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  return 4670; /* *avx512f_gatherdiv16si */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case V16SFmode:
          if (!register_operand (operands[0], V16SFmode)
              || GET_MODE (x3) != V16SFmode
              || !vsib_mem_operator (operands[6], SFmode))
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case V16SFmode:
              if (!register_operand (operands[1], V16SFmode))
                return -1;
              switch (pattern944 (x5, HImode, V16SImode))
                {
                case 0:
                  if (!(
#line 19194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  return 4623; /* *avx512f_gathersiv16sf */

                case 1:
                  if (!(
#line 19194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  return 4624; /* *avx512f_gathersiv16sf */

                default:
                  return -1;
                }

            case V8SFmode:
              if (!register_operand (operands[1], V8SFmode))
                return -1;
              switch (pattern944 (x5, QImode, V8DImode))
                {
                case 0:
                  if (!(
#line 19252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  return 4671; /* *avx512f_gatherdiv16sf */

                case 1:
                  if (!(
#line 19252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  return 4672; /* *avx512f_gatherdiv16sf */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case V8DImode:
          switch (pattern887 (x3, DImode, V8DImode))
            {
            case 0:
              if (!(
#line 19194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return -1;
              return 4625; /* *avx512f_gathersiv8di */

            case 1:
              if (!(
#line 19252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return -1;
              return 4673; /* *avx512f_gatherdiv8di */

            case 2:
              if (!(
#line 19194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return -1;
              return 4626; /* *avx512f_gathersiv8di */

            case 3:
              if (!(
#line 19252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return -1;
              return 4674; /* *avx512f_gatherdiv8di */

            default:
              return -1;
            }

        case V8DFmode:
          switch (pattern887 (x3, DFmode, V8DFmode))
            {
            case 0:
              if (!(
#line 19194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return -1;
              return 4627; /* *avx512f_gathersiv8df */

            case 1:
              if (!(
#line 19252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return -1;
              return 4675; /* *avx512f_gatherdiv8df */

            case 2:
              if (!(
#line 19194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return -1;
              return 4628; /* *avx512f_gathersiv8df */

            case 3:
              if (!(
#line 19252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return -1;
              return 4676; /* *avx512f_gatherdiv8df */

            default:
              return -1;
            }

        case V8SImode:
          if (pattern888 (x3, SImode, V8SImode) != 0)
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case V8SImode:
              if (!register_operand (operands[1], V8SImode))
                return -1;
              switch (pattern954 (x5, V8SImode))
                {
                case 0:
                  if (!(
#line 19194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                    return -1;
                  return 4629; /* *avx512f_gathersiv8si */

                case 1:
                  if (!(
#line 19194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                    return -1;
                  return 4630; /* *avx512f_gathersiv8si */

                default:
                  return -1;
                }

            case V4SImode:
              if (!register_operand (operands[1], V4SImode))
                return -1;
              switch (pattern954 (x5, V4DImode))
                {
                case 0:
                  if (!(
#line 19252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                    return -1;
                  return 4677; /* *avx512f_gatherdiv8si */

                case 1:
                  if (!(
#line 19252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                    return -1;
                  return 4678; /* *avx512f_gatherdiv8si */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case V8SFmode:
          if (pattern888 (x3, SFmode, V8SFmode) != 0)
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case V8SFmode:
              if (!register_operand (operands[1], V8SFmode))
                return -1;
              switch (pattern954 (x5, V8SImode))
                {
                case 0:
                  if (!(
#line 19194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                    return -1;
                  return 4631; /* *avx512f_gathersiv8sf */

                case 1:
                  if (!(
#line 19194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                    return -1;
                  return 4632; /* *avx512f_gathersiv8sf */

                default:
                  return -1;
                }

            case V4SFmode:
              if (!register_operand (operands[1], V4SFmode))
                return -1;
              switch (pattern954 (x5, V4DImode))
                {
                case 0:
                  if (!(
#line 19252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                    return -1;
                  return 4679; /* *avx512f_gatherdiv8sf */

                case 1:
                  if (!(
#line 19252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                    return -1;
                  return 4680; /* *avx512f_gatherdiv8sf */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case V4DImode:
          switch (pattern890 (x3, DImode, V4DImode))
            {
            case 0:
              if (!(
#line 19194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              return 4633; /* *avx512f_gathersiv4di */

            case 1:
              if (!(
#line 19252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              return 4681; /* *avx512f_gatherdiv4di */

            case 2:
              if (!(
#line 19194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              return 4634; /* *avx512f_gathersiv4di */

            case 3:
              if (!(
#line 19252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              return 4682; /* *avx512f_gatherdiv4di */

            default:
              return -1;
            }

        case V4DFmode:
          switch (pattern890 (x3, DFmode, V4DFmode))
            {
            case 0:
              if (!(
#line 19194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              return 4635; /* *avx512f_gathersiv4df */

            case 1:
              if (!(
#line 19252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              return 4683; /* *avx512f_gatherdiv4df */

            case 2:
              if (!(
#line 19194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              return 4636; /* *avx512f_gathersiv4df */

            case 3:
              if (!(
#line 19252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              return 4684; /* *avx512f_gatherdiv4df */

            default:
              return -1;
            }

        case V4SImode:
          switch (pattern892 (x3, SImode, V4SImode))
            {
            case 0:
              if (!(
#line 19194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              return 4637; /* *avx512f_gathersiv4si */

            case 1:
              if (!(
#line 19252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              return 4685; /* *avx512f_gatherdiv4si */

            case 2:
              if (!(
#line 19194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              return 4638; /* *avx512f_gathersiv4si */

            case 3:
              if (!(
#line 19252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              return 4686; /* *avx512f_gatherdiv4si */

            default:
              return -1;
            }

        case V4SFmode:
          switch (pattern892 (x3, SFmode, V4SFmode))
            {
            case 0:
              if (!(
#line 19194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              return 4639; /* *avx512f_gathersiv4sf */

            case 1:
              if (!(
#line 19252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              return 4687; /* *avx512f_gatherdiv4sf */

            case 2:
              if (!(
#line 19194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              return 4640; /* *avx512f_gathersiv4sf */

            case 3:
              if (!(
#line 19252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              return 4688; /* *avx512f_gatherdiv4sf */

            default:
              return -1;
            }

        case V2DImode:
          switch (pattern892 (x3, DImode, V2DImode))
            {
            case 0:
              if (!(
#line 19194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              return 4641; /* *avx512f_gathersiv2di */

            case 1:
              if (!(
#line 19252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              return 4689; /* *avx512f_gatherdiv2di */

            case 2:
              if (!(
#line 19194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              return 4642; /* *avx512f_gathersiv2di */

            case 3:
              if (!(
#line 19252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              return 4690; /* *avx512f_gatherdiv2di */

            default:
              return -1;
            }

        case V2DFmode:
          switch (pattern892 (x3, DFmode, V2DFmode))
            {
            case 0:
              if (!(
#line 19194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              return 4643; /* *avx512f_gathersiv2df */

            case 1:
              if (!(
#line 19252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              return 4691; /* *avx512f_gatherdiv2df */

            case 2:
              if (!(
#line 19194 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              return 4644; /* *avx512f_gathersiv2df */

            case 3:
              if (!(
#line 19252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              return 4692; /* *avx512f_gatherdiv2df */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case PC:
      x9 = XVECEXP (x3, 0, 1);
      operands[6] = x9;
      operands[5] = x4;
      x10 = XVECEXP (x5, 0, 0);
      operands[3] = x10;
      x11 = XVECEXP (x5, 0, 1);
      operands[2] = x11;
      operands[4] = x7;
      x12 = XEXP (x6, 0);
      operands[1] = x12;
      switch (GET_MODE (operands[0]))
        {
        case V16SImode:
          switch (pattern859 (x3, SImode, V16SImode))
            {
            case 0:
              if (!(
#line 19213 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return -1;
              return 4645; /* *avx512f_gathersiv16si_2 */

            case 1:
              if (!(
#line 19213 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return -1;
              return 4646; /* *avx512f_gathersiv16si_2 */

            case 2:
              if (!(
#line 19273 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return -1;
              return 4693; /* *avx512f_gatherdiv16si_2 */

            case 3:
              if (!(
#line 19273 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return -1;
              return 4694; /* *avx512f_gatherdiv16si_2 */

            default:
              return -1;
            }

        case V16SFmode:
          switch (pattern859 (x3, SFmode, V16SFmode))
            {
            case 0:
              if (!(
#line 19213 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return -1;
              return 4647; /* *avx512f_gathersiv16sf_2 */

            case 1:
              if (!(
#line 19213 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return -1;
              return 4648; /* *avx512f_gathersiv16sf_2 */

            case 2:
              if (!(
#line 19273 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return -1;
              return 4695; /* *avx512f_gatherdiv16sf_2 */

            case 3:
              if (!(
#line 19273 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return -1;
              return 4696; /* *avx512f_gatherdiv16sf_2 */

            default:
              return -1;
            }

        case V8DImode:
          switch (pattern861 (x3, DImode, V8DImode))
            {
            case 0:
              if (!(
#line 19213 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return -1;
              return 4649; /* *avx512f_gathersiv8di_2 */

            case 1:
              if (!(
#line 19273 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return -1;
              return 4697; /* *avx512f_gatherdiv8di_2 */

            case 2:
              if (!(
#line 19213 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return -1;
              return 4650; /* *avx512f_gathersiv8di_2 */

            case 3:
              if (!(
#line 19273 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return -1;
              return 4698; /* *avx512f_gatherdiv8di_2 */

            default:
              return -1;
            }

        case V8DFmode:
          switch (pattern861 (x3, DFmode, V8DFmode))
            {
            case 0:
              if (!(
#line 19213 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return -1;
              return 4651; /* *avx512f_gathersiv8df_2 */

            case 1:
              if (!(
#line 19273 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return -1;
              return 4699; /* *avx512f_gatherdiv8df_2 */

            case 2:
              if (!(
#line 19213 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return -1;
              return 4652; /* *avx512f_gathersiv8df_2 */

            case 3:
              if (!(
#line 19273 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return -1;
              return 4700; /* *avx512f_gatherdiv8df_2 */

            default:
              return -1;
            }

        case V8SImode:
          switch (pattern863 (x3, SImode, V8SImode))
            {
            case 0:
              if (!(
#line 19213 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              return 4653; /* *avx512f_gathersiv8si_2 */

            case 1:
              if (!(
#line 19273 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              return 4701; /* *avx512f_gatherdiv8si_2 */

            case 2:
              if (!(
#line 19213 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              return 4654; /* *avx512f_gathersiv8si_2 */

            case 3:
              if (!(
#line 19273 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              return 4702; /* *avx512f_gatherdiv8si_2 */

            default:
              return -1;
            }

        case V8SFmode:
          switch (pattern863 (x3, SFmode, V8SFmode))
            {
            case 0:
              if (!(
#line 19213 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              return 4655; /* *avx512f_gathersiv8sf_2 */

            case 1:
              if (!(
#line 19273 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              return 4703; /* *avx512f_gatherdiv8sf_2 */

            case 2:
              if (!(
#line 19213 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              return 4656; /* *avx512f_gathersiv8sf_2 */

            case 3:
              if (!(
#line 19273 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              return 4704; /* *avx512f_gatherdiv8sf_2 */

            default:
              return -1;
            }

        case V4DImode:
          switch (pattern865 (x3, DImode, V4DImode))
            {
            case 0:
              if (!(
#line 19213 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              return 4657; /* *avx512f_gathersiv4di_2 */

            case 1:
              if (!(
#line 19273 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              return 4705; /* *avx512f_gatherdiv4di_2 */

            case 2:
              if (!(
#line 19213 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              return 4658; /* *avx512f_gathersiv4di_2 */

            case 3:
              if (!(
#line 19273 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              return 4706; /* *avx512f_gatherdiv4di_2 */

            default:
              return -1;
            }

        case V4DFmode:
          switch (pattern865 (x3, DFmode, V4DFmode))
            {
            case 0:
              if (!(
#line 19213 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              return 4659; /* *avx512f_gathersiv4df_2 */

            case 1:
              if (!(
#line 19273 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              return 4707; /* *avx512f_gatherdiv4df_2 */

            case 2:
              if (!(
#line 19213 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              return 4660; /* *avx512f_gathersiv4df_2 */

            case 3:
              if (!(
#line 19273 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              return 4708; /* *avx512f_gatherdiv4df_2 */

            default:
              return -1;
            }

        case V4SImode:
          switch (pattern867 (x3, SImode, V4SImode))
            {
            case 0:
              if (!(
#line 19213 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              return 4661; /* *avx512f_gathersiv4si_2 */

            case 1:
              if (!(
#line 19273 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              return 4709; /* *avx512f_gatherdiv4si_2 */

            case 2:
              if (!(
#line 19213 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              return 4662; /* *avx512f_gathersiv4si_2 */

            case 3:
              if (!(
#line 19273 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              return 4710; /* *avx512f_gatherdiv4si_2 */

            default:
              return -1;
            }

        case V4SFmode:
          switch (pattern867 (x3, SFmode, V4SFmode))
            {
            case 0:
              if (!(
#line 19213 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              return 4663; /* *avx512f_gathersiv4sf_2 */

            case 1:
              if (!(
#line 19273 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              return 4711; /* *avx512f_gatherdiv4sf_2 */

            case 2:
              if (!(
#line 19213 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              return 4664; /* *avx512f_gathersiv4sf_2 */

            case 3:
              if (!(
#line 19273 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              return 4712; /* *avx512f_gatherdiv4sf_2 */

            default:
              return -1;
            }

        case V2DImode:
          switch (pattern867 (x3, DImode, V2DImode))
            {
            case 0:
              if (!(
#line 19213 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              return 4665; /* *avx512f_gathersiv2di_2 */

            case 1:
              if (!(
#line 19273 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              return 4713; /* *avx512f_gatherdiv2di_2 */

            case 2:
              if (!(
#line 19213 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              return 4666; /* *avx512f_gathersiv2di_2 */

            case 3:
              if (!(
#line 19273 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              return 4714; /* *avx512f_gatherdiv2di_2 */

            default:
              return -1;
            }

        case V2DFmode:
          switch (pattern867 (x3, DFmode, V2DFmode))
            {
            case 0:
              if (!(
#line 19213 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              return 4667; /* *avx512f_gathersiv2df_2 */

            case 1:
              if (!(
#line 19273 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return -1;
              return 4715; /* *avx512f_gatherdiv2df_2 */

            case 2:
              if (!(
#line 19213 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              return 4668; /* *avx512f_gathersiv2df_2 */

            case 3:
              if (!(
#line 19273 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return -1;
              return 4716; /* *avx512f_gatherdiv2df_2 */

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_215 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  switch (XINT (x3, 1))
    {
    case 14:
      if (GET_MODE (x3) != SImode
          || pattern184 (x1) != 0)
        return -1;
      x4 = XVECEXP (x3, 0, 0);
      switch (GET_CODE (x4))
        {
        case CONST_INT:
          if (XWINT (x4, 0) != 0LL
              || !
#line 12448 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT))
            return -1;
          return 687; /* *set_got */

        case LABEL_REF:
          x5 = XEXP (x4, 0);
          operands[1] = x5;
          if (!
#line 12470 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT))
            return -1;
          return 688; /* *set_got_labelled */

        default:
          return -1;
        }

    case 86:
      switch (pattern255 (x1, pnum_clobbers))
        {
        case 0:
          if (!
#line 12889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI))
            return -1;
          return 714; /* tzcnt_si */

        case 1:
          if (!(((
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT) && 
#line 12889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI)) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)) && 
#line 12889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI)))
            return -1;
          return 716; /* tzcnt_di */

        case 2:
          if (!
#line 12889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI))
            return -1;
          return 722; /* tzcnt_hi */

        case 3:
          if (!
#line 12889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI))
            return -1;
          *pnum_clobbers = 1;
          return 718; /* *tzcnt_si_falsedep */

        case 4:
          if (!((
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT) && 
#line 12889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI)) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          *pnum_clobbers = 1;
          return 720; /* *tzcnt_di_falsedep */

        default:
          return -1;
        }

    case 85:
      switch (pattern255 (x1, pnum_clobbers))
        {
        case 0:
          if (!
#line 12890 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_LZCNT))
            return -1;
          return 715; /* lzcnt_si */

        case 1:
          if (!(((
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT) && 
#line 12890 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_LZCNT)) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)) && 
#line 12890 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_LZCNT)))
            return -1;
          return 717; /* lzcnt_di */

        case 2:
          if (!
#line 12890 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_LZCNT))
            return -1;
          return 723; /* lzcnt_hi */

        case 3:
          if (!
#line 12890 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_LZCNT))
            return -1;
          *pnum_clobbers = 1;
          return 719; /* *lzcnt_si_falsedep */

        case 4:
          if (!((
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT) && 
#line 12890 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_LZCNT)) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          *pnum_clobbers = 1;
          return 721; /* *lzcnt_di_falsedep */

        default:
          return -1;
        }

    case 28:
      if (pattern256 (x2) != 0)
        return -1;
      x6 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x6) != CLOBBER)
        return -1;
      x4 = XVECEXP (x3, 0, 0);
      operands[1] = x4;
      if (!register_operand (operands[1], HImode))
        return -1;
      x7 = XEXP (x6, 0);
      operands[0] = x7;
      if (!scratch_operand (operands[0], HImode)
          || !
#line 13505 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(! TARGET_POPCNT))
        return -1;
      return 778; /* *parityhi2_cmp */

    case 67:
      switch (pattern258 (x1, 68))
        {
        case 0:
          if (!
#line 14576 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
            return -1;
          return 844; /* sincosxf3 */

        case 1:
          if (!
#line 14610 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
          return 845; /* sincos_extendsfxf3_i387 */

        case 2:
          if (!
#line 14610 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
          return 846; /* sincos_extenddfxf3_i387 */

        default:
          return -1;
        }

    case 69:
      switch (pattern258 (x1, 70))
        {
        case 0:
          if (!
#line 15069 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
            return -1;
          return 859; /* fxtractxf3_i387 */

        case 1:
          if (!
#line 15083 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
          return 860; /* fxtract_extendsfxf3_i387 */

        case 2:
          if (!
#line 15083 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
          return 861; /* fxtract_extenddfxf3_i387 */

        default:
          return -1;
        }

    case 57:
      x6 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x6) != CLOBBER)
        return -1;
      x8 = XEXP (x2, 0);
      operands[0] = x8;
      x4 = XVECEXP (x3, 0, 0);
      operands[1] = x4;
      if (!register_operand (operands[1], XFmode))
        return -1;
      x7 = XEXP (x6, 0);
      operands[2] = x7;
      switch (GET_CODE (operands[2]))
        {
        case REG:
        case SCRATCH:
          if (!scratch_operand (operands[2], XFmode)
              || !memory_operand (operands[0], DImode)
              || GET_MODE (x3) != DImode
              || !
#line 15583 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387))
            return -1;
          return 870; /* fistdi2 */

        case SUBREG:
        case MEM:
          switch (GET_MODE (operands[0]))
            {
            case DImode:
              if (pnum_clobbers == NULL
                  || !nonimmediate_operand (operands[0], DImode)
                  || GET_MODE (x3) != DImode
                  || !memory_operand (operands[2], DImode)
                  || !
#line 15594 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387))
                return -1;
              *pnum_clobbers = 1;
              return 871; /* fistdi2_with_temp */

            case HImode:
              if (!register_operand (operands[0], HImode)
                  || GET_MODE (x3) != HImode
                  || !memory_operand (operands[2], HImode)
                  || !
#line 15652 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387))
                return -1;
              return 876; /* fisthi2_with_temp */

            case SImode:
              if (!register_operand (operands[0], SImode)
                  || GET_MODE (x3) != SImode
                  || !memory_operand (operands[2], SImode)
                  || !
#line 15652 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387))
                return -1;
              return 877; /* fistsi2_with_temp */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 61:
      switch (pattern260 (x1))
        {
        case 0:
          if (!
#line 15748 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (flag_fp_int_builtin_inexact || !flag_trapping_math)
   && can_create_pseudo_p ()))
            return -1;
          return 878; /* frndintsf2_floor */

        case 1:
          if (!
#line 15748 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (flag_fp_int_builtin_inexact || !flag_trapping_math)
   && can_create_pseudo_p ()))
            return -1;
          return 881; /* frndintdf2_floor */

        case 2:
          if (!
#line 15748 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (flag_fp_int_builtin_inexact || !flag_trapping_math)
   && can_create_pseudo_p ()))
            return -1;
          return 884; /* frndintxf2_floor */

        default:
          return -1;
        }

    case 62:
      switch (pattern260 (x1))
        {
        case 0:
          if (!
#line 15748 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (flag_fp_int_builtin_inexact || !flag_trapping_math)
   && can_create_pseudo_p ()))
            return -1;
          return 879; /* frndintsf2_ceil */

        case 1:
          if (!
#line 15748 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (flag_fp_int_builtin_inexact || !flag_trapping_math)
   && can_create_pseudo_p ()))
            return -1;
          return 882; /* frndintdf2_ceil */

        case 2:
          if (!
#line 15748 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (flag_fp_int_builtin_inexact || !flag_trapping_math)
   && can_create_pseudo_p ()))
            return -1;
          return 885; /* frndintxf2_ceil */

        default:
          return -1;
        }

    case 63:
      switch (pattern260 (x1))
        {
        case 0:
          if (!
#line 15748 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (flag_fp_int_builtin_inexact || !flag_trapping_math)
   && can_create_pseudo_p ()))
            return -1;
          return 880; /* frndintsf2_trunc */

        case 1:
          if (!
#line 15748 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (flag_fp_int_builtin_inexact || !flag_trapping_math)
   && can_create_pseudo_p ()))
            return -1;
          return 883; /* frndintdf2_trunc */

        case 2:
          if (!
#line 15748 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (flag_fp_int_builtin_inexact || !flag_trapping_math)
   && can_create_pseudo_p ()))
            return -1;
          return 886; /* frndintxf2_trunc */

        default:
          return -1;
        }

    case 64:
      if (GET_MODE (x3) != XFmode
          || pattern264 (x1) != 0
          || !register_operand (operands[0], XFmode))
        return -1;
      x4 = XVECEXP (x3, 0, 0);
      operands[1] = x4;
      if (!register_operand (operands[1], XFmode)
          || !
#line 15842 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && can_create_pseudo_p ()))
        return -1;
      return 896; /* frndintxf2_mask_pm */

    case 65:
      switch (pattern263 (x1))
        {
        case 0:
          if (!
#line 15907 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && can_create_pseudo_p ()))
            return -1;
          return 898; /* *fisthi2_floor_1 */

        case 1:
          if (!
#line 15907 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && can_create_pseudo_p ()))
            return -1;
          return 900; /* *fistsi2_floor_1 */

        case 2:
          if (!
#line 15907 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && can_create_pseudo_p ()))
            return -1;
          return 902; /* *fistdi2_floor_1 */

        default:
          return -1;
        }

    case 66:
      switch (pattern263 (x1))
        {
        case 0:
          if (!
#line 15907 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && can_create_pseudo_p ()))
            return -1;
          return 899; /* *fisthi2_ceil_1 */

        case 1:
          if (!
#line 15907 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && can_create_pseudo_p ()))
            return -1;
          return 901; /* *fistsi2_ceil_1 */

        case 2:
          if (!
#line 15907 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && can_create_pseudo_p ()))
            return -1;
          return 903; /* *fistdi2_ceil_1 */

        default:
          return -1;
        }

    case 19:
      if (pattern264 (x1) != 0)
        return -1;
      x4 = XVECEXP (x3, 0, 0);
      operands[1] = x4;
      switch (GET_MODE (operands[0]))
        {
        case SImode:
          if (!memory_operand (operands[0], SImode)
              || GET_MODE (x3) != SImode
              || !const0_operand (operands[1], SImode)
              || !
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode))
            return -1;
          return 987; /* probe_stack_si */

        case DImode:
          if (!memory_operand (operands[0], DImode)
              || GET_MODE (x3) != DImode
              || !const0_operand (operands[1], DImode)
              || !
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode))
            return -1;
          return 988; /* probe_stack_di */

        default:
          return -1;
        }

    case 79:
      if (pnum_clobbers == NULL)
        return -1;
      x6 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x6) != SET)
        return -1;
      x9 = XEXP (x6, 1);
      if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      switch (pattern442 (x1))
        {
        case 0:
          if (!(
#line 18693 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_SSP_TLS_GUARD) && 
#line 1200 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ptr_mode == SImode)))
            return -1;
          *pnum_clobbers = 1;
          return 997; /* stack_protect_set_si */

        case 1:
          if (!(
#line 18693 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_SSP_TLS_GUARD) && 
#line 1200 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ptr_mode == DImode)))
            return -1;
          *pnum_clobbers = 1;
          return 998; /* stack_protect_set_di */

        default:
          return -1;
        }

    case 81:
      if (pnum_clobbers == NULL)
        return -1;
      x6 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x6) != SET)
        return -1;
      x9 = XEXP (x6, 1);
      if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      switch (pattern444 (x1))
        {
        case 0:
          if (!
#line 1200 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ptr_mode == SImode))
            return -1;
          *pnum_clobbers = 1;
          return 999; /* stack_tls_protect_set_si */

        case 1:
          if (!
#line 1200 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ptr_mode == DImode))
            return -1;
          *pnum_clobbers = 1;
          return 1000; /* stack_tls_protect_set_di */

        default:
          return -1;
        }

    case 93:
      x4 = XVECEXP (x3, 0, 0);
      if (GET_CODE (x4) != MEM)
        return -1;
      operands[3] = x4;
      x5 = XEXP (x4, 0);
      if (GET_CODE (x5) != UNSPEC
          || XVECLEN (x5, 0) != 2
          || XINT (x5, 1) != 94)
        return -1;
      x6 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x6) != USE)
        return -1;
      x7 = XEXP (x6, 0);
      if (GET_CODE (x7) != MEM
          || GET_MODE (x7) != BLKmode)
        return -1;
      x8 = XEXP (x2, 0);
      operands[0] = x8;
      x10 = XVECEXP (x5, 0, 0);
      operands[1] = x10;
      x11 = XVECEXP (x5, 0, 1);
      operands[2] = x11;
      x12 = XEXP (x7, 0);
      if (!rtx_equal_p (x12, operands[1]))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case BND32mode:
          if (pattern816 (x3, SImode, BND32mode) != 0
              || !(
#line 19449 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_MPX) && 
#line 1045 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_LP64)))
            return -1;
          return 1085; /* *bnd32_ldx */

        case BND64mode:
          if (pattern816 (x3, DImode, BND64mode) != 0
              || !(
#line 19449 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_MPX) && 
#line 1046 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_LP64)))
            return -1;
          return 1086; /* *bnd64_ldx */

        default:
          return -1;
        }

    case 42:
      if (pattern265 (x1) != 0)
        return -1;
      x4 = XVECEXP (x3, 0, 0);
      switch (GET_CODE (x4))
        {
        case VEC_SELECT:
          switch (pattern627 (x3))
            {
            case 0:
              if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 4293 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE)))
                return -1;
              return 2099; /* sse_cvtss2si_round */

            case 1:
              if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 4788 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
                return -1;
              return 2206; /* sse2_cvtsd2si_round */

            case 2:
              if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 4323 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && TARGET_64BIT)))
                return -1;
              return 2102; /* sse_cvtss2siq_round */

            case 3:
              if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 4819 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && TARGET_64BIT)))
                return -1;
              return 2209; /* sse2_cvtsd2siq_round */

            default:
              return -1;
            }

        case REG:
        case SUBREG:
        case MEM:
          operands[1] = x4;
          switch (GET_MODE (operands[0]))
            {
            case V16SImode:
              if (!register_operand (operands[0], V16SImode)
                  || GET_MODE (x3) != V16SImode
                  || !register_operand (operands[1], V16SFmode)
                  || !
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                return -1;
              return 2140; /* avx512f_fix_notruncv16sfv16si_round */

            case V8DImode:
              if (!register_operand (operands[0], V8DImode)
                  || GET_MODE (x3) != V8DImode)
                return -1;
              switch (GET_MODE (operands[1]))
                {
                case V8SFmode:
                  if (!nonimmediate_operand (operands[1], V8SFmode)
                      || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 4497 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && (V8DImode == V16SFmode
							      || V8DImode == V8DFmode
							      || V8DImode == V8DImode
							      || V8DImode == V16SImode))))
                    return -1;
                  return 2156; /* *avx512dq_cvtps2qqv8di_round */

                case V8DFmode:
                  if (!register_operand (operands[1], V8DFmode)
                      || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 5175 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && (V8DFmode == V16SFmode
							      || V8DFmode == V8DFmode
							      || V8DFmode == V8DImode
							      || V8DFmode == V16SImode))))
                    return -1;
                  return 2321; /* fix_notruncv8dfv8di2_round */

                default:
                  return -1;
                }

            case V8SImode:
              if (!register_operand (operands[0], V8SImode)
                  || GET_MODE (x3) != V8SImode
                  || !register_operand (operands[1], V8DFmode)
                  || !
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                return -1;
              return 2272; /* avx512f_cvtpd2dq512_round */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 151:
      if (pattern265 (x1) != 0)
        return -1;
      x4 = XVECEXP (x3, 0, 0);
      switch (GET_CODE (x4))
        {
        case REG:
        case SUBREG:
        case MEM:
          operands[1] = x4;
          switch (GET_MODE (operands[0]))
            {
            case V16SImode:
              if (!register_operand (operands[0], V16SImode)
                  || GET_MODE (x3) != V16SImode
                  || !nonimmediate_operand (operands[1], V16SFmode)
                  || !
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                return -1;
              return 2144; /* *avx512f_ufix_notruncv16sfv16si_round */

            case V8SImode:
              switch (pattern708 (x3, V8SImode))
                {
                case 0:
                  if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 4487 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 344 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 2148; /* *avx512vl_ufix_notruncv8sfv8si_round */

                case 1:
                  if (!
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                    return -1;
                  return 2281; /* ufix_notruncv8dfv8si2_round */

                default:
                  return -1;
                }

            case V4SImode:
              if (!register_operand (operands[0], V4SImode)
                  || GET_MODE (x3) != V4SImode)
                return -1;
              switch (GET_MODE (operands[1]))
                {
                case V4SFmode:
                  if (!nonimmediate_operand (operands[1], V4SFmode)
                      || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 4487 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 344 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 2152; /* *avx512vl_ufix_notruncv4sfv4si_round */

                case V4DFmode:
                  if (!nonimmediate_operand (operands[1], V4DFmode)
                      || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 5102 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 256 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 2285; /* ufix_notruncv4dfv4si2_round */

                default:
                  return -1;
                }

            case V8DImode:
              switch (pattern708 (x3, V8DImode))
                {
                case 0:
                  if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 4520 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && (V8DImode == V16SFmode
							      || V8DImode == V8DFmode
							      || V8DImode == V8DImode
							      || V8DImode == V16SImode))))
                    return -1;
                  return 2164; /* *avx512dq_cvtps2uqqv8di_round */

                case 1:
                  if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 5186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && (V8DFmode == V16SFmode
							      || V8DFmode == V8DFmode
							      || V8DFmode == V8DImode
							      || V8DFmode == V16SImode))))
                    return -1;
                  return 2329; /* ufix_notruncv8dfv8di2_round */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case VEC_SELECT:
          switch (pattern627 (x3))
            {
            case 0:
              if (!
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                return -1;
              return 2190; /* avx512f_vcvtss2usi_round */

            case 1:
              if (!
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                return -1;
              return 2198; /* avx512f_vcvtsd2usi_round */

            case 2:
              if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 4701 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && TARGET_64BIT)))
                return -1;
              return 2192; /* avx512f_vcvtss2usiq_round */

            case 3:
              if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 4751 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && TARGET_64BIT)))
                return -1;
              return 2200; /* avx512f_vcvtsd2usiq_round */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 161:
      return recog_213 (x1, insn, pnum_clobbers);

    case 176:
      switch (pattern266 (x1))
        {
        case 0:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 16170 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512ER)))
            return -1;
          return 3952; /* avx512er_exp2v16sf_round */

        case 1:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 16170 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512ER)))
            return -1;
          return 3956; /* avx512er_exp2v8df_round */

        default:
          return -1;
        }

    case 177:
      switch (pattern266 (x1))
        {
        case 0:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 16181 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512ER)))
            return -1;
          return 3960; /* *avx512er_rcp28v16sf_round */

        case 1:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 16181 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512ER)))
            return -1;
          return 3964; /* *avx512er_rcp28v8df_round */

        default:
          return -1;
        }

    case 178:
      switch (pattern266 (x1))
        {
        case 0:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 16207 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512ER)))
            return -1;
          return 3972; /* *avx512er_rsqrt28v16sf_round */

        case 1:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 16207 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512ER)))
            return -1;
          return 3976; /* *avx512er_rsqrt28v8df_round */

        default:
          return -1;
        }

    case 142:
      if (pattern125 (x1, V16SFmode) != 0)
        return -1;
      x4 = XVECEXP (x3, 0, 0);
      operands[1] = x4;
      if (!register_operand (operands[1], V16HImode))
        return -1;
      x6 = XVECEXP (x1, 0, 1);
      x13 = XVECEXP (x6, 0, 0);
      operands[2] = x13;
      if (!const48_operand (operands[2], SImode)
          || !
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
        return -1;
      return 4539; /* *avx512f_vcvtph2ps512_round */

    case 204:
      if (GET_MODE (x3) != BLKmode
          || pattern114 (x1) != 0)
        return -1;
      x4 = XVECEXP (x3, 0, 0);
      if (!rtx_equal_p (x4, operands[0])
          || !
#line 103 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sync.md"
(!(TARGET_64BIT || TARGET_SSE2)))
        return -1;
      return 4957; /* mfence_nosse */

    case 209:
      if (pnum_clobbers == NULL
          || GET_MODE (x3) != DImode)
        return -1;
      x6 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x6) != CLOBBER)
        return -1;
      x8 = XEXP (x2, 0);
      operands[0] = x8;
      if (!nonimmediate_operand (operands[0], DImode))
        return -1;
      x4 = XVECEXP (x3, 0, 0);
      operands[1] = x4;
      if (!memory_operand (operands[1], DImode))
        return -1;
      x7 = XEXP (x6, 0);
      operands[2] = x7;
      if (!memory_operand (operands[2], DImode)
          || !
#line 183 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sync.md"
(!TARGET_64BIT && (TARGET_80387 || TARGET_SSE)))
        return -1;
      *pnum_clobbers = 1;
      return 4958; /* atomic_loaddi_fpu */

    case 210:
      if (pnum_clobbers == NULL
          || GET_MODE (x3) != DImode)
        return -1;
      x6 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x6) != CLOBBER)
        return -1;
      x8 = XEXP (x2, 0);
      operands[0] = x8;
      if (!memory_operand (operands[0], DImode))
        return -1;
      x4 = XVECEXP (x3, 0, 0);
      operands[1] = x4;
      if (!nonimmediate_operand (operands[1], DImode))
        return -1;
      x7 = XEXP (x6, 0);
      operands[2] = x7;
      if (!memory_operand (operands[2], DImode)
          || !
#line 300 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sync.md"
(!TARGET_64BIT && (TARGET_80387 || TARGET_SSE)))
        return -1;
      *pnum_clobbers = 1;
      return 4963; /* atomic_storedi_fpu */

    default:
      return -1;
    }
}

static int
recog_216 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  switch (XINT (x3, 1))
    {
    case 87:
      if (pattern264 (x1) != 0)
        return -1;
      x4 = XVECEXP (x3, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x3, 0, 1);
      operands[2] = x5;
      switch (GET_MODE (operands[0]))
        {
        case SImode:
          if (pattern679 (x3, SImode) != 0
              || !
#line 12961 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI))
            return -1;
          return 724; /* bmi_bextr_si */

        case DImode:
          if (pattern679 (x3, DImode) != 0
              || !(
#line 12961 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          return 725; /* bmi_bextr_di */

        default:
          return -1;
        }

    case 53:
      if (GET_MODE (x3) != XFmode)
        return -1;
      x6 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x6) != CLOBBER)
        return -1;
      x7 = XEXP (x2, 0);
      operands[0] = x7;
      if (!register_operand (operands[0], XFmode))
        return -1;
      x8 = XEXP (x6, 0);
      operands[3] = x8;
      if (!scratch_operand (operands[3], XFmode))
        return -1;
      x4 = XVECEXP (x3, 0, 0);
      switch (GET_CODE (x4))
        {
        case REG:
        case SUBREG:
          operands[1] = x4;
          if (!register_operand (operands[1], XFmode))
            return -1;
          x5 = XVECEXP (x3, 0, 1);
          operands[2] = x5;
          if (!register_operand (operands[2], XFmode)
              || !
#line 14730 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
            return -1;
          return 850; /* *fpatanxf3_i387 */

        case FLOAT_EXTEND:
          if (GET_MODE (x4) != XFmode)
            return -1;
          x5 = XVECEXP (x3, 0, 1);
          if (GET_CODE (x5) != FLOAT_EXTEND
              || GET_MODE (x5) != XFmode)
            return -1;
          x9 = XEXP (x4, 0);
          operands[1] = x9;
          x10 = XEXP (x5, 0);
          operands[2] = x10;
          switch (GET_MODE (operands[1]))
            {
            case SFmode:
              if (!register_operand (operands[1], SFmode)
                  || !register_operand (operands[2], SFmode)
                  || !
#line 14745 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
              return 851; /* fpatan_extendsfxf3_i387 */

            case DFmode:
              if (!register_operand (operands[1], DFmode)
                  || !register_operand (operands[2], DFmode)
                  || !
#line 14745 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
              return 852; /* fpatan_extenddfxf3_i387 */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 54:
      switch (pattern267 (x1))
        {
        case 0:
          if (!
#line 14892 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
            return -1;
          return 853; /* fyl2xxf3_i387 */

        case 1:
          if (!
#line 14906 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
          return 854; /* fyl2x_extendsfxf3_i387 */

        case 2:
          if (!
#line 14906 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
          return 855; /* fyl2x_extenddfxf3_i387 */

        default:
          return -1;
        }

    case 55:
      switch (pattern267 (x1))
        {
        case 0:
          if (!
#line 15011 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
            return -1;
          return 856; /* fyl2xp1xf3_i387 */

        case 1:
          if (!
#line 15025 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
          return 857; /* fyl2xp1_extendsfxf3_i387 */

        case 2:
          if (!
#line 15025 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
          return 858; /* fyl2xp1_extenddfxf3_i387 */

        default:
          return -1;
        }

    case 71:
      if (pattern268 (x1, 72, XFmode, UNSPEC, 2) != 0)
        return -1;
      x7 = XEXP (x2, 0);
      operands[0] = x7;
      if (!register_operand (operands[0], XFmode)
          || pattern680 (x1) != 0
          || !
#line 15177 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
        return -1;
      return 863; /* fscalexf4_i387 */

    case 80:
      switch (pattern269 (x1))
        {
        case 0:
          if (!memory_operand (operands[1], SImode)
              || !memory_operand (operands[2], SImode)
              || !scratch_operand (operands[3], SImode)
              || !(
#line 18741 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_SSP_TLS_GUARD) && 
#line 1200 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ptr_mode == SImode)))
            return -1;
          return 1001; /* stack_protect_test_si */

        case 1:
          if (!memory_operand (operands[1], DImode)
              || !memory_operand (operands[2], DImode)
              || !scratch_operand (operands[3], DImode)
              || !(
#line 18741 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_SSP_TLS_GUARD) && 
#line 1200 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ptr_mode == DImode)))
            return -1;
          return 1002; /* stack_protect_test_di */

        default:
          return -1;
        }

    case 82:
      switch (pattern269 (x1))
        {
        case 0:
          if (!memory_operand (operands[1], SImode)
              || !const_int_operand (operands[2], SImode)
              || !scratch_operand (operands[3], SImode)
              || !
#line 1200 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ptr_mode == SImode))
            return -1;
          return 1003; /* stack_tls_protect_test_si */

        case 1:
          if (!memory_operand (operands[1], DImode)
              || !const_int_operand (operands[2], DImode)
              || !scratch_operand (operands[3], DImode)
              || !
#line 1200 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ptr_mode == DImode))
            return -1;
          return 1004; /* stack_tls_protect_test_di */

        default:
          return -1;
        }

    case 50:
      switch (pattern271 (x1))
        {
        case 0:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1901 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && 1 && (V16SFmode == V16SFmode
									      || V16SFmode == V8DFmode
									      || V16SFmode == V8DImode
									      || V16SFmode == V16SImode)) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
            return -1;
          return 1556; /* ieee_maxv16sf3_round */

        case 1:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1901 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && 1 && (V8DFmode == V16SFmode
									      || V8DFmode == V8DFmode
									      || V8DFmode == V8DImode
									      || V8DFmode == V16SImode)) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
            return -1;
          return 1572; /* ieee_maxv8df3_round */

        default:
          return -1;
        }

    case 49:
      switch (pattern271 (x1))
        {
        case 0:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1901 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && 1 && (V16SFmode == V16SFmode
									      || V16SFmode == V8DFmode
									      || V16SFmode == V8DImode
									      || V16SFmode == V16SImode)) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
            return -1;
          return 1560; /* ieee_minv16sf3_round */

        case 1:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1901 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && 1 && (V8DFmode == V16SFmode
									      || V8DFmode == V8DFmode
									      || V8DFmode == V8DImode
									      || V8DFmode == V16SImode)) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
            return -1;
          return 1576; /* ieee_minv8df3_round */

        default:
          return -1;
        }

    case 159:
      x6 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x6) != UNSPEC
          || XVECLEN (x6, 0) != 1
          || XINT (x6, 1) != 173)
        return -1;
      x7 = XEXP (x2, 0);
      operands[0] = x7;
      x4 = XVECEXP (x3, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x3, 0, 1);
      operands[2] = x5;
      x11 = XVECEXP (x6, 0, 0);
      operands[3] = x11;
      if (!const_4_or_8_to_11_operand (operands[3], SImode))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case V16SFmode:
          if (pattern709 (x3, V16SFmode) != 0
              || !
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
            return -1;
          return 2536; /* avx512f_scalefv16sf_round */

        case V8SFmode:
          if (pattern709 (x3, V8SFmode) != 0
              || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8202 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 2540; /* avx512vl_scalefv8sf_round */

        case V4SFmode:
          if (pattern709 (x3, V4SFmode) != 0
              || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8202 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 2544; /* avx512vl_scalefv4sf_round */

        case V8DFmode:
          if (pattern709 (x3, V8DFmode) != 0
              || !
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
            return -1;
          return 2548; /* avx512f_scalefv8df_round */

        case V4DFmode:
          if (pattern709 (x3, V4DFmode) != 0
              || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8202 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 2552; /* avx512vl_scalefv4df_round */

        case V2DFmode:
          if (pattern709 (x3, V2DFmode) != 0
              || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8202 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 2556; /* avx512vl_scalefv2df_round */

        default:
          return -1;
        }

    case 83:
      x6 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x6) != UNSPEC
          || XVECLEN (x6, 0) != 1
          || XINT (x6, 1) != 173)
        return -1;
      x7 = XEXP (x2, 0);
      operands[0] = x7;
      x4 = XVECEXP (x3, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x3, 0, 1);
      operands[2] = x5;
      if (!const_0_to_255_operand (operands[2], SImode))
        return -1;
      switch (pattern628 (x1))
        {
        case 0:
          if (!
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
            return -1;
          return 2666; /* avx512f_rndscalev16sf_round */

        case 1:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8421 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 2670; /* avx512vl_rndscalev8sf_round */

        case 2:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8421 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 2674; /* avx512vl_rndscalev4sf_round */

        case 3:
          if (!
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
            return -1;
          return 2678; /* avx512f_rndscalev8df_round */

        case 4:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8421 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 2682; /* avx512vl_rndscalev4df_round */

        case 5:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8421 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 2686; /* avx512vl_rndscalev2df_round */

        default:
          return -1;
        }

    case 155:
      x7 = XEXP (x2, 0);
      if (GET_CODE (x7) != MEM)
        return -1;
      operands[5] = x7;
      x12 = XEXP (x7, 0);
      if (GET_CODE (x12) != UNSPEC
          || XVECLEN (x12, 0) != 3
          || XINT (x12, 1) != 147)
        return -1;
      x6 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x6) != CLOBBER)
        return -1;
      x13 = XVECEXP (x12, 0, 0);
      operands[0] = x13;
      x14 = XVECEXP (x12, 0, 1);
      operands[2] = x14;
      x15 = XVECEXP (x12, 0, 2);
      operands[4] = x15;
      if (!const1248_operand (operands[4], SImode))
        return -1;
      x4 = XVECEXP (x3, 0, 0);
      operands[6] = x4;
      x5 = XVECEXP (x3, 0, 1);
      operands[3] = x5;
      x8 = XEXP (x6, 0);
      operands[1] = x8;
      switch (GET_MODE (operands[5]))
        {
        case V16SImode:
          if (!vsib_mem_operator (operands[5], V16SImode)
              || GET_MODE (x3) != V16SImode)
            return -1;
          switch (GET_MODE (x12))
            {
            case SImode:
              switch (pattern898 (SImode))
                {
                case 0:
                  if (!(
#line 19318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  return 4717; /* *avx512f_scattersiv16si */

                case 1:
                  if (!(
#line 19354 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  return 4741; /* *avx512f_scatterdiv16si */

                default:
                  return -1;
                }

            case DImode:
              switch (pattern898 (DImode))
                {
                case 0:
                  if (!(
#line 19318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  return 4718; /* *avx512f_scattersiv16si */

                case 1:
                  if (!(
#line 19354 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  return 4742; /* *avx512f_scatterdiv16si */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case V16SFmode:
          if (!vsib_mem_operator (operands[5], V16SFmode)
              || GET_MODE (x3) != V16SFmode)
            return -1;
          switch (GET_MODE (x12))
            {
            case SImode:
              switch (pattern899 (SImode))
                {
                case 0:
                  if (!(
#line 19318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  return 4719; /* *avx512f_scattersiv16sf */

                case 1:
                  if (!(
#line 19354 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  return 4743; /* *avx512f_scatterdiv16sf */

                default:
                  return -1;
                }

            case DImode:
              switch (pattern899 (DImode))
                {
                case 0:
                  if (!(
#line 19318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  return 4720; /* *avx512f_scattersiv16sf */

                case 1:
                  if (!(
#line 19354 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  return 4744; /* *avx512f_scatterdiv16sf */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case V8DImode:
          switch (pattern826 (x2, V8DImode))
            {
            case 0:
              if (!(
#line 19318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return -1;
              return 4721; /* *avx512f_scattersiv8di */

            case 1:
              if (!(
#line 19354 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return -1;
              return 4745; /* *avx512f_scatterdiv8di */

            case 2:
              if (!(
#line 19318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return -1;
              return 4722; /* *avx512f_scattersiv8di */

            case 3:
              if (!(
#line 19354 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return -1;
              return 4746; /* *avx512f_scatterdiv8di */

            default:
              return -1;
            }

        case V8DFmode:
          switch (pattern826 (x2, V8DFmode))
            {
            case 0:
              if (!(
#line 19318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return -1;
              return 4723; /* *avx512f_scattersiv8df */

            case 1:
              if (!(
#line 19354 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return -1;
              return 4747; /* *avx512f_scatterdiv8df */

            case 2:
              if (!(
#line 19318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return -1;
              return 4724; /* *avx512f_scattersiv8df */

            case 3:
              if (!(
#line 19354 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return -1;
              return 4748; /* *avx512f_scatterdiv8df */

            default:
              return -1;
            }

        case V8SImode:
          switch (pattern827 (x2, V8SImode))
            {
            case 0:
              switch (pattern928 (SImode))
                {
                case 0:
                  if (!(
#line 19318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((((
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)) && 
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 4725; /* *avx512f_scattersiv8si */

                case 1:
                  if (!(
#line 19354 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && (((
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 4749; /* *avx512f_scatterdiv8si */

                default:
                  return -1;
                }

            case 1:
              switch (pattern928 (DImode))
                {
                case 0:
                  if (!(
#line 19318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((((
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)) && 
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 4726; /* *avx512f_scattersiv8si */

                case 1:
                  if (!(
#line 19354 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && (((
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 4750; /* *avx512f_scatterdiv8si */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case V8SFmode:
          switch (pattern827 (x2, V8SFmode))
            {
            case 0:
              switch (pattern929 (SImode))
                {
                case 0:
                  if (!(
#line 19318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((((
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)) && 
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 4727; /* *avx512f_scattersiv8sf */

                case 1:
                  if (!(
#line 19354 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && (((
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 4751; /* *avx512f_scatterdiv8sf */

                default:
                  return -1;
                }

            case 1:
              switch (pattern929 (DImode))
                {
                case 0:
                  if (!(
#line 19318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((((
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)) && 
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 4728; /* *avx512f_scattersiv8sf */

                case 1:
                  if (!(
#line 19354 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && (((
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 4752; /* *avx512f_scatterdiv8sf */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case V4DImode:
          switch (pattern829 (x2, V4DImode))
            {
            case 0:
              if (!(
#line 19318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((((
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)) && 
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4729; /* *avx512f_scattersiv4di */

            case 1:
              if (!(
#line 19354 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && (((
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4753; /* *avx512f_scatterdiv4di */

            case 2:
              if (!(
#line 19318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((((
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)) && 
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4730; /* *avx512f_scattersiv4di */

            case 3:
              if (!(
#line 19354 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && (((
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4754; /* *avx512f_scatterdiv4di */

            default:
              return -1;
            }

        case V4DFmode:
          switch (pattern829 (x2, V4DFmode))
            {
            case 0:
              if (!(
#line 19318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((((
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)) && 
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4731; /* *avx512f_scattersiv4df */

            case 1:
              if (!(
#line 19354 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && (((
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4755; /* *avx512f_scatterdiv4df */

            case 2:
              if (!(
#line 19318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((((
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)) && 
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4732; /* *avx512f_scattersiv4df */

            case 3:
              if (!(
#line 19354 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && (((
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4756; /* *avx512f_scatterdiv4df */

            default:
              return -1;
            }

        case V4SImode:
          switch (pattern831 (x2, V4SImode))
            {
            case 0:
              if (!(
#line 19318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((((
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)) && 
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4733; /* *avx512f_scattersiv4si */

            case 1:
              if (!(
#line 19354 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && (((
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4757; /* *avx512f_scatterdiv4si */

            case 2:
              if (!(
#line 19318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((((
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)) && 
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4734; /* *avx512f_scattersiv4si */

            case 3:
              if (!(
#line 19354 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && (((
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4758; /* *avx512f_scatterdiv4si */

            default:
              return -1;
            }

        case V4SFmode:
          switch (pattern831 (x2, V4SFmode))
            {
            case 0:
              if (!(
#line 19318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((((
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)) && 
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4735; /* *avx512f_scattersiv4sf */

            case 1:
              if (!(
#line 19354 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && (((
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4759; /* *avx512f_scatterdiv4sf */

            case 2:
              if (!(
#line 19318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((((
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)) && 
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4736; /* *avx512f_scattersiv4sf */

            case 3:
              if (!(
#line 19354 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && (((
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 563 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4760; /* *avx512f_scatterdiv4sf */

            default:
              return -1;
            }

        case V2DImode:
          switch (pattern831 (x2, V2DImode))
            {
            case 0:
              if (!(
#line 19318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((((
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)) && 
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4737; /* *avx512f_scattersiv2di */

            case 1:
              if (!(
#line 19354 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && (((
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4761; /* *avx512f_scatterdiv2di */

            case 2:
              if (!(
#line 19318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((((
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)) && 
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4738; /* *avx512f_scattersiv2di */

            case 3:
              if (!(
#line 19354 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && (((
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4762; /* *avx512f_scatterdiv2di */

            default:
              return -1;
            }

        case V2DFmode:
          switch (pattern831 (x2, V2DFmode))
            {
            case 0:
              if (!(
#line 19318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((((
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)) && 
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4739; /* *avx512f_scattersiv2df */

            case 1:
              if (!(
#line 19354 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && (((
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4763; /* *avx512f_scatterdiv2df */

            case 2:
              if (!(
#line 19318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && ((((
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)) && 
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4740; /* *avx512f_scattersiv2df */

            case 3:
              if (!(
#line 19354 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && (((
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 4764; /* *avx512f_scatterdiv2df */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 162:
      x6 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x6) != UNSPEC
          || XVECLEN (x6, 0) != 1
          || XINT (x6, 1) != 173)
        return -1;
      x7 = XEXP (x2, 0);
      operands[0] = x7;
      x4 = XVECEXP (x3, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x3, 0, 1);
      operands[2] = x5;
      if (!const_0_to_15_operand (operands[2], SImode))
        return -1;
      switch (pattern628 (x1))
        {
        case 0:
          if (!
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
            return -1;
          return 4836; /* avx512f_getmantv16sf_round */

        case 1:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 19478 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 4840; /* avx512vl_getmantv8sf_round */

        case 2:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 19478 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 4844; /* avx512vl_getmantv4sf_round */

        case 3:
          if (!
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
            return -1;
          return 4848; /* avx512f_getmantv8df_round */

        case 4:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 19478 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 4852; /* avx512vl_getmantv4df_round */

        case 5:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 19478 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 4856; /* avx512vl_getmantv2df_round */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_217 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  operands[0] = x3;
  x4 = XEXP (x2, 1);
  switch (XINT (x4, 1))
    {
    case 48:
      x5 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x5) != CLOBBER)
        return -1;
      x6 = XVECEXP (x4, 0, 0);
      operands[2] = x6;
      x7 = XVECEXP (x4, 0, 1);
      operands[3] = x7;
      x8 = XVECEXP (x4, 0, 2);
      operands[4] = x8;
      x9 = XVECEXP (x4, 0, 3);
      operands[5] = x9;
      x10 = XEXP (x5, 0);
      operands[1] = x10;
      switch (GET_MODE (operands[0]))
        {
        case SFmode:
          if (pattern677 (x4, V4SFmode, SFmode) != 0
              || !
#line 9368 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
   || (TARGET_SSE && (SFmode == TFmode))))
            return -1;
          return 489; /* copysignsf3_var */

        case DFmode:
          if (pattern677 (x4, V2DFmode, DFmode) != 0
              || !
#line 9368 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
   || (TARGET_SSE && (DFmode == TFmode))))
            return -1;
          return 490; /* copysigndf3_var */

        case TFmode:
          if (pattern678 (x4) != 0
              || !nonimmediate_operand (operands[4], TFmode)
              || !nonimmediate_operand (operands[5], TFmode)
              || !scratch_operand (operands[1], TFmode)
              || !
#line 9368 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((SSE_FLOAT_MODE_P (TFmode) && TARGET_SSE_MATH)
   || (TARGET_SSE && (TFmode == TFmode))))
            return -1;
          return 491; /* copysigntf3_var */

        default:
          return -1;
        }

    case 23:
      if (pattern324 (x4) != 0
          || pattern549 (x1, SImode) != 0)
        return -1;
      x7 = XVECEXP (x4, 0, 1);
      operands[2] = x7;
      if (!register_operand (operands[2], SImode))
        return -1;
      x8 = XVECEXP (x4, 0, 2);
      operands[3] = x8;
      if (!register_operand (operands[3], SImode)
          || !
#line 13881 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_GNU2_TLS))
        return -1;
      return 795; /* *tls_dynamic_gnu2_call_32 */

    case 25:
      if (pnum_clobbers == NULL)
        return -1;
      x6 = XVECEXP (x4, 0, 0);
      if (GET_CODE (x6) != MEM
          || GET_MODE (x6) != BLKmode)
        return -1;
      x5 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x5) != CLOBBER)
        return -1;
      switch (pattern551 (x1))
        {
        case 0:
          if (!(
#line 16894 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])
   && ix86_check_no_addr_space (insn)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
            return -1;
          *pnum_clobbers = 1;
          return 955; /* *strlenqi_1 */

        case 1:
          if (!(
#line 16894 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])
   && ix86_check_no_addr_space (insn)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
            return -1;
          *pnum_clobbers = 1;
          return 956; /* *strlenqi_1 */

        default:
          return -1;
        }

    case 158:
      x5 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x5) != UNSPEC
          || XVECLEN (x5, 0) != 1
          || XINT (x5, 1) != 173)
        return -1;
      x6 = XVECEXP (x4, 0, 0);
      operands[1] = x6;
      x7 = XVECEXP (x4, 0, 1);
      operands[2] = x7;
      x8 = XVECEXP (x4, 0, 2);
      operands[3] = x8;
      x9 = XVECEXP (x4, 0, 3);
      operands[4] = x9;
      if (!const_0_to_255_operand (operands[4], SImode))
        return -1;
      x11 = XVECEXP (x5, 0, 0);
      operands[5] = x11;
      if (!const48_operand (operands[5], SImode))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case V16SFmode:
          if (pattern796 (x4, V16SImode, V16SFmode) != 0
              || !
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
            return -1;
          return 2618; /* avx512f_fixupimmv16sf_round */

        case V8SFmode:
          if (pattern796 (x4, V8SImode, V8SFmode) != 0
              || !(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8343 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 2622; /* avx512vl_fixupimmv8sf_round */

        case V4SFmode:
          if (pattern796 (x4, V4SImode, V4SFmode) != 0
              || !(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8343 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 2626; /* avx512vl_fixupimmv4sf_round */

        case V8DFmode:
          if (pattern796 (x4, V8DImode, V8DFmode) != 0
              || !
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
            return -1;
          return 2630; /* avx512f_fixupimmv8df_round */

        case V4DFmode:
          if (pattern796 (x4, V4DImode, V4DFmode) != 0
              || !(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8343 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 2634; /* avx512vl_fixupimmv4df_round */

        case V2DFmode:
          if (pattern796 (x4, V2DImode, V2DFmode) != 0
              || !(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8343 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 2638; /* avx512vl_fixupimmv2df_round */

        default:
          return -1;
        }

    case 146:
      x7 = XVECEXP (x4, 0, 1);
      if (GET_CODE (x7) != MEM)
        return -1;
      x12 = XEXP (x7, 0);
      if (GET_CODE (x12) != UNSPEC
          || XVECLEN (x12, 0) != 3
          || XINT (x12, 1) != 147)
        return -1;
      x8 = XVECEXP (x4, 0, 2);
      if (GET_CODE (x8) != MEM
          || GET_MODE (x8) != BLKmode)
        return -1;
      x13 = XEXP (x8, 0);
      if (GET_CODE (x13) != SCRATCH)
        return -1;
      x5 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x5) != CLOBBER)
        return -1;
      x14 = XVECEXP (x12, 0, 2);
      if (!const1248_operand (x14, SImode))
        return -1;
      x10 = XEXP (x5, 0);
      operands[1] = x10;
      x6 = XVECEXP (x4, 0, 0);
      switch (GET_CODE (x6))
        {
        case REG:
        case SUBREG:
          operands[2] = x6;
          operands[7] = x7;
          x15 = XVECEXP (x12, 0, 0);
          operands[3] = x15;
          x16 = XVECEXP (x12, 0, 1);
          operands[4] = x16;
          operands[6] = x14;
          x9 = XVECEXP (x4, 0, 3);
          operands[5] = x9;
          switch (GET_MODE (operands[0]))
            {
            case V2DImode:
              switch (pattern924 (x4, V2DImode, DImode))
                {
                case 0:
                  if (!(
#line 19019 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  return 4549; /* *avx2_gathersiv2di */

                case 1:
                  if (!(
#line 19080 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  return 4581; /* *avx2_gatherdiv2di */

                case 2:
                  if (!(
#line 19019 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  return 4550; /* *avx2_gathersiv2di */

                case 3:
                  if (!(
#line 19080 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  return 4582; /* *avx2_gatherdiv2di */

                default:
                  return -1;
                }

            case V2DFmode:
              switch (pattern924 (x4, V2DFmode, DFmode))
                {
                case 0:
                  if (!(
#line 19019 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  return 4551; /* *avx2_gathersiv2df */

                case 1:
                  if (!(
#line 19080 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  return 4583; /* *avx2_gatherdiv2df */

                case 2:
                  if (!(
#line 19019 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  return 4552; /* *avx2_gathersiv2df */

                case 3:
                  if (!(
#line 19080 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  return 4584; /* *avx2_gatherdiv2df */

                default:
                  return -1;
                }

            case V4DImode:
              switch (pattern926 (x4, V4DImode, DImode))
                {
                case 0:
                  if (!(
#line 19019 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  return 4553; /* *avx2_gathersiv4di */

                case 1:
                  if (!(
#line 19080 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  return 4585; /* *avx2_gatherdiv4di */

                case 2:
                  if (!(
#line 19019 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  return 4554; /* *avx2_gathersiv4di */

                case 3:
                  if (!(
#line 19080 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  return 4586; /* *avx2_gatherdiv4di */

                default:
                  return -1;
                }

            case V4DFmode:
              switch (pattern926 (x4, V4DFmode, DFmode))
                {
                case 0:
                  if (!(
#line 19019 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  return 4555; /* *avx2_gathersiv4df */

                case 1:
                  if (!(
#line 19080 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  return 4587; /* *avx2_gatherdiv4df */

                case 2:
                  if (!(
#line 19019 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  return 4556; /* *avx2_gathersiv4df */

                case 3:
                  if (!(
#line 19080 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  return 4588; /* *avx2_gatherdiv4df */

                default:
                  return -1;
                }

            case V4SImode:
              switch (pattern924 (x4, V4SImode, SImode))
                {
                case 0:
                  if (!(
#line 19019 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  return 4557; /* *avx2_gathersiv4si */

                case 1:
                  if (!(
#line 19080 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  return 4589; /* *avx2_gatherdiv4si */

                case 2:
                  if (!(
#line 19019 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  return 4558; /* *avx2_gathersiv4si */

                case 3:
                  if (!(
#line 19080 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  return 4590; /* *avx2_gatherdiv4si */

                default:
                  return -1;
                }

            case V4SFmode:
              switch (pattern924 (x4, V4SFmode, SFmode))
                {
                case 0:
                  if (!(
#line 19019 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  return 4559; /* *avx2_gathersiv4sf */

                case 1:
                  if (!(
#line 19080 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  return 4591; /* *avx2_gatherdiv4sf */

                case 2:
                  if (!(
#line 19019 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  return 4560; /* *avx2_gathersiv4sf */

                case 3:
                  if (!(
#line 19080 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  return 4592; /* *avx2_gatherdiv4sf */

                default:
                  return -1;
                }

            case V8SImode:
              if (pattern927 (x4, V8SImode, SImode) != 0)
                return -1;
              switch (GET_MODE (operands[2]))
                {
                case V8SImode:
                  if (!register_operand (operands[2], V8SImode)
                      || !register_operand (operands[4], V8SImode))
                    return -1;
                  switch (pattern961 (x12, V8SImode))
                    {
                    case 0:
                      if (!(
#line 19019 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                        return -1;
                      return 4561; /* *avx2_gathersiv8si */

                    case 1:
                      if (!(
#line 19019 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                        return -1;
                      return 4562; /* *avx2_gathersiv8si */

                    default:
                      return -1;
                    }

                case V4SImode:
                  switch (pattern962 (x12, V4SImode, V4DImode))
                    {
                    case 0:
                      if (!(
#line 19080 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                        return -1;
                      return 4593; /* *avx2_gatherdiv8si */

                    case 1:
                      if (!(
#line 19080 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                        return -1;
                      return 4594; /* *avx2_gatherdiv8si */

                    default:
                      return -1;
                    }

                default:
                  return -1;
                }

            case V8SFmode:
              if (pattern927 (x4, V8SFmode, SFmode) != 0)
                return -1;
              switch (GET_MODE (operands[2]))
                {
                case V8SFmode:
                  switch (pattern962 (x12, V8SFmode, V8SImode))
                    {
                    case 0:
                      if (!(
#line 19019 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                        return -1;
                      return 4563; /* *avx2_gathersiv8sf */

                    case 1:
                      if (!(
#line 19019 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                        return -1;
                      return 4564; /* *avx2_gathersiv8sf */

                    default:
                      return -1;
                    }

                case V4SFmode:
                  switch (pattern962 (x12, V4SFmode, V4DImode))
                    {
                    case 0:
                      if (!(
#line 19080 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                        return -1;
                      return 4595; /* *avx2_gatherdiv8sf */

                    case 1:
                      if (!(
#line 19080 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                        return -1;
                      return 4596; /* *avx2_gatherdiv8sf */

                    default:
                      return -1;
                    }

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case PC:
          operands[6] = x7;
          x15 = XVECEXP (x12, 0, 0);
          operands[2] = x15;
          x16 = XVECEXP (x12, 0, 1);
          operands[3] = x16;
          operands[5] = x14;
          x9 = XVECEXP (x4, 0, 3);
          operands[4] = x9;
          switch (GET_MODE (operands[0]))
            {
            case V2DImode:
              switch (pattern906 (x4, V2DImode, DImode))
                {
                case 0:
                  if (!(
#line 19039 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  return 4565; /* *avx2_gathersiv2di_2 */

                case 1:
                  if (!(
#line 19100 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  return 4597; /* *avx2_gatherdiv2di_2 */

                case 2:
                  if (!(
#line 19039 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  return 4566; /* *avx2_gathersiv2di_2 */

                case 3:
                  if (!(
#line 19100 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  return 4598; /* *avx2_gatherdiv2di_2 */

                default:
                  return -1;
                }

            case V2DFmode:
              switch (pattern906 (x4, V2DFmode, DFmode))
                {
                case 0:
                  if (!(
#line 19039 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  return 4567; /* *avx2_gathersiv2df_2 */

                case 1:
                  if (!(
#line 19100 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  return 4599; /* *avx2_gatherdiv2df_2 */

                case 2:
                  if (!(
#line 19039 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  return 4568; /* *avx2_gathersiv2df_2 */

                case 3:
                  if (!(
#line 19100 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  return 4600; /* *avx2_gatherdiv2df_2 */

                default:
                  return -1;
                }

            case V4DImode:
              switch (pattern908 (x4, V4DImode, DImode))
                {
                case 0:
                  if (!(
#line 19039 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  return 4569; /* *avx2_gathersiv4di_2 */

                case 1:
                  if (!(
#line 19100 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  return 4601; /* *avx2_gatherdiv4di_2 */

                case 2:
                  if (!(
#line 19039 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  return 4570; /* *avx2_gathersiv4di_2 */

                case 3:
                  if (!(
#line 19100 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  return 4602; /* *avx2_gatherdiv4di_2 */

                default:
                  return -1;
                }

            case V4DFmode:
              switch (pattern908 (x4, V4DFmode, DFmode))
                {
                case 0:
                  if (!(
#line 19039 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  return 4571; /* *avx2_gathersiv4df_2 */

                case 1:
                  if (!(
#line 19100 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  return 4603; /* *avx2_gatherdiv4df_2 */

                case 2:
                  if (!(
#line 19039 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  return 4572; /* *avx2_gathersiv4df_2 */

                case 3:
                  if (!(
#line 19100 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  return 4604; /* *avx2_gatherdiv4df_2 */

                default:
                  return -1;
                }

            case V4SImode:
              switch (pattern906 (x4, V4SImode, SImode))
                {
                case 0:
                  if (!(
#line 19039 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  return 4573; /* *avx2_gathersiv4si_2 */

                case 1:
                  if (!(
#line 19100 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  return 4605; /* *avx2_gatherdiv4si_2 */

                case 2:
                  if (!(
#line 19039 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  return 4574; /* *avx2_gathersiv4si_2 */

                case 3:
                  if (!(
#line 19100 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  return 4606; /* *avx2_gatherdiv4si_2 */

                default:
                  return -1;
                }

            case V4SFmode:
              switch (pattern906 (x4, V4SFmode, SFmode))
                {
                case 0:
                  if (!(
#line 19039 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  return 4575; /* *avx2_gathersiv4sf_2 */

                case 1:
                  if (!(
#line 19100 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  return 4607; /* *avx2_gatherdiv4sf_2 */

                case 2:
                  if (!(
#line 19039 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  return 4576; /* *avx2_gathersiv4sf_2 */

                case 3:
                  if (!(
#line 19100 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  return 4608; /* *avx2_gatherdiv4sf_2 */

                default:
                  return -1;
                }

            case V8SImode:
              switch (pattern909 (x4, V8SImode, SImode))
                {
                case 0:
                  switch (pattern952 (SImode))
                    {
                    case 0:
                      if (!(
#line 19039 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                        return -1;
                      return 4577; /* *avx2_gathersiv8si_2 */

                    case 1:
                      if (!(
#line 19100 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                        return -1;
                      return 4609; /* *avx2_gatherdiv8si_2 */

                    default:
                      return -1;
                    }

                case 1:
                  switch (pattern952 (DImode))
                    {
                    case 0:
                      if (!(
#line 19039 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                        return -1;
                      return 4578; /* *avx2_gathersiv8si_2 */

                    case 1:
                      if (!(
#line 19100 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                        return -1;
                      return 4610; /* *avx2_gatherdiv8si_2 */

                    default:
                      return -1;
                    }

                default:
                  return -1;
                }

            case V8SFmode:
              switch (pattern909 (x4, V8SFmode, SFmode))
                {
                case 0:
                  switch (pattern953 (SImode))
                    {
                    case 0:
                      if (!(
#line 19039 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                        return -1;
                      return 4579; /* *avx2_gathersiv8sf_2 */

                    case 1:
                      if (!(
#line 19100 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                        return -1;
                      return 4611; /* *avx2_gatherdiv8sf_2 */

                    default:
                      return -1;
                    }

                case 1:
                  switch (pattern953 (DImode))
                    {
                    case 0:
                      if (!(
#line 19039 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                        return -1;
                      return 4580; /* *avx2_gathersiv8sf_2 */

                    case 1:
                      if (!(
#line 19100 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                        return -1;
                      return 4612; /* *avx2_gatherdiv8sf_2 */

                    default:
                      return -1;
                    }

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_218 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  operands[0] = x3;
  x4 = XEXP (x2, 1);
  x5 = XEXP (x4, 0);
  operands[1] = x5;
  switch (pattern323 (x1))
    {
    case 0:
      if (!nonmemory_operand (operands[2], QImode))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case DImode:
          if (!register_operand (operands[0], DImode)
              || GET_MODE (x4) != DImode
              || !reg_or_pm1_operand (operands[1], DImode)
              || !
#line 1016 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT))
            return -1;
          return 503; /* *ashldi3_doubleword */

        case TImode:
          if (!register_operand (operands[0], TImode)
              || GET_MODE (x4) != TImode
              || !reg_or_pm1_operand (operands[1], TImode)
              || !
#line 1017 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
            return -1;
          return 504; /* *ashlti3_doubleword */

        case HImode:
          if (!nonimmediate_operand (operands[0], HImode)
              || GET_MODE (x4) != HImode
              || !nonimmediate_operand (operands[1], HImode)
              || !
#line 9805 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ASHIFT, HImode, operands)))
            return -1;
          return 515; /* *ashlhi3_1 */

        case QImode:
          if (!nonimmediate_operand (operands[0], QImode)
              || GET_MODE (x4) != QImode
              || !nonimmediate_operand (operands[1], QImode)
              || !
#line 9849 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ASHIFT, QImode, operands)))
            return -1;
          return 516; /* *ashlqi3_1 */

        default:
          return -1;
        }

    case 1:
      if (!immediate_operand (operands[2], QImode))
        return -1;
      switch (pattern553 (x4))
        {
        case 0:
          if (!(
#line 1431 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1303 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ)))
            return -1;
          return 1324; /* kashiftqi */

        case 1:
          if (!
#line 1431 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 1326; /* kashifthi */

        case 2:
          if (!(
#line 1431 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1303 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 1328; /* kashiftsi */

        case 3:
          if (!(
#line 1431 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1303 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 1330; /* kashiftdi */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_219 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != SET)
    return -1;
  x3 = XVECEXP (x1, 0, 0);
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) != CCOmode)
    return -1;
  x5 = XEXP (x2, 0);
  operands[0] = x5;
  switch (GET_CODE (x4))
    {
    case EQ:
      x6 = XEXP (x4, 0);
      switch (GET_CODE (x6))
        {
        case PLUS:
          switch (pattern584 (x1, PLUS))
            {
            case 0:
              if (!
#line 6251 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, QImode, operands)))
                return -1;
              return 243; /* *addvqi4 */

            case 1:
              if (!
#line 6251 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, HImode, operands)))
                return -1;
              return 244; /* *addvhi4 */

            case 2:
              if (!
#line 6251 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, SImode, operands)))
                return -1;
              return 245; /* *addvsi4 */

            case 3:
              if (!(
#line 6251 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, DImode, operands)) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              return 246; /* *addvdi4 */

            case 4:
              if (!
#line 6268 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, QImode, operands)
   && CONST_INT_P (operands[2])
   && INTVAL (operands[2]) == INTVAL (operands[3])))
                return -1;
              return 247; /* *addvqi4_1 */

            case 5:
              if (!
#line 6268 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, HImode, operands)
   && CONST_INT_P (operands[2])
   && INTVAL (operands[2]) == INTVAL (operands[3])))
                return -1;
              return 248; /* *addvhi4_1 */

            case 6:
              if (!
#line 6268 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, SImode, operands)
   && CONST_INT_P (operands[2])
   && INTVAL (operands[2]) == INTVAL (operands[3])))
                return -1;
              return 249; /* *addvsi4_1 */

            case 7:
              if (!(
#line 6268 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, DImode, operands)
   && CONST_INT_P (operands[2])
   && INTVAL (operands[2]) == INTVAL (operands[3])) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              return 250; /* *addvdi4_1 */

            default:
              return -1;
            }

        case MINUS:
          switch (pattern584 (x1, MINUS))
            {
            case 0:
              if (!
#line 6600 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (MINUS, QImode, operands)))
                return -1;
              return 282; /* *subvqi4 */

            case 1:
              if (!
#line 6600 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (MINUS, HImode, operands)))
                return -1;
              return 283; /* *subvhi4 */

            case 2:
              if (!
#line 6600 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (MINUS, SImode, operands)))
                return -1;
              return 284; /* *subvsi4 */

            case 3:
              if (!(
#line 6600 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (MINUS, DImode, operands)) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              return 285; /* *subvdi4 */

            case 4:
              if (!
#line 6617 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (MINUS, QImode, operands)
   && CONST_INT_P (operands[2])
   && INTVAL (operands[2]) == INTVAL (operands[3])))
                return -1;
              return 286; /* *subvqi4_1 */

            case 5:
              if (!
#line 6617 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (MINUS, HImode, operands)
   && CONST_INT_P (operands[2])
   && INTVAL (operands[2]) == INTVAL (operands[3])))
                return -1;
              return 287; /* *subvhi4_1 */

            case 6:
              if (!
#line 6617 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (MINUS, SImode, operands)
   && CONST_INT_P (operands[2])
   && INTVAL (operands[2]) == INTVAL (operands[3])))
                return -1;
              return 288; /* *subvsi4_1 */

            case 7:
              if (!(
#line 6617 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (MINUS, DImode, operands)
   && CONST_INT_P (operands[2])
   && INTVAL (operands[2]) == INTVAL (operands[3])) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              return 289; /* *subvdi4_1 */

            default:
              return -1;
            }

        case MULT:
          x7 = XEXP (x2, 1);
          if (GET_CODE (x7) != MULT)
            return -1;
          x8 = XEXP (x6, 0);
          switch (GET_CODE (x8))
            {
            case SIGN_EXTEND:
              x9 = XEXP (x4, 1);
              if (GET_CODE (x9) != SIGN_EXTEND)
                return -1;
              x10 = XEXP (x9, 0);
              if (GET_CODE (x10) != MULT)
                return -1;
              x11 = XEXP (x8, 0);
              operands[1] = x11;
              x12 = XEXP (x10, 0);
              if (!rtx_equal_p (x12, operands[1]))
                return -1;
              x13 = XEXP (x7, 0);
              if (!rtx_equal_p (x13, operands[1]))
                return -1;
              x14 = XEXP (x6, 1);
              switch (GET_CODE (x14))
                {
                case SIGN_EXTEND:
                  x15 = XEXP (x14, 0);
                  operands[2] = x15;
                  x16 = XEXP (x10, 1);
                  if (!rtx_equal_p (x16, operands[2]))
                    return -1;
                  x17 = XEXP (x7, 1);
                  if (!rtx_equal_p (x17, operands[2]))
                    return -1;
                  switch (GET_MODE (x6))
                    {
                    case DImode:
                      if (pattern912 (x1, SImode, DImode) != 0
                          || !
#line 7055 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))))
                        return -1;
                      return 332; /* *mulvsi4 */

                    case TImode:
                      if (pattern912 (x1, DImode, TImode) != 0
                          || !(
#line 7055 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                        return -1;
                      return 333; /* *mulvdi4 */

                    case SImode:
                      if (pattern913 (x1, HImode, SImode) != 0
                          || !
#line 7089 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))))
                        return -1;
                      return 334; /* *mulvhi4 */

                    case HImode:
                      if (pattern913 (x1, QImode, HImode) != 0
                          || !
#line 7224 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_QIMODE_MATH
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
                        return -1;
                      return 341; /* *mulvqi4 */

                    default:
                      return -1;
                    }

                case CONST_INT:
                  operands[3] = x14;
                  x16 = XEXP (x10, 1);
                  operands[2] = x16;
                  x17 = XEXP (x7, 1);
                  if (!rtx_equal_p (x17, operands[2]))
                    return -1;
                  switch (GET_MODE (x6))
                    {
                    case SImode:
                      if (GET_MODE (x8) != SImode
                          || !nonimmediate_operand (operands[1], HImode)
                          || !const_int_operand (operands[3], SImode)
                          || GET_MODE (x9) != SImode
                          || GET_MODE (x10) != HImode
                          || !immediate_operand (operands[2], HImode)
                          || !register_operand (operands[0], HImode)
                          || GET_MODE (x7) != HImode
                          || !
#line 7110 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))
   && CONST_INT_P (operands[2])
   && INTVAL (operands[2]) == INTVAL (operands[3])))
                        return -1;
                      return 335; /* *mulvhi4_1 */

                    case DImode:
                      if (pattern914 (x1, SImode, DImode) != 0
                          || !
#line 7110 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))
   && CONST_INT_P (operands[2])
   && INTVAL (operands[2]) == INTVAL (operands[3])))
                        return -1;
                      return 336; /* *mulvsi4_1 */

                    case TImode:
                      if (pattern914 (x1, DImode, TImode) != 0
                          || !(
#line 7110 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))
   && CONST_INT_P (operands[2])
   && INTVAL (operands[2]) == INTVAL (operands[3])) && 
#line 986 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                        return -1;
                      return 337; /* *mulvdi4_1 */

                    default:
                      return -1;
                    }

                default:
                  return -1;
                }

            case ZERO_EXTEND:
              x14 = XEXP (x6, 1);
              if (GET_CODE (x14) != ZERO_EXTEND)
                return -1;
              x9 = XEXP (x4, 1);
              if (GET_CODE (x9) != ZERO_EXTEND)
                return -1;
              x10 = XEXP (x9, 0);
              if (GET_CODE (x10) != MULT)
                return -1;
              x11 = XEXP (x8, 0);
              operands[1] = x11;
              x15 = XEXP (x14, 0);
              operands[2] = x15;
              x12 = XEXP (x10, 0);
              if (!rtx_equal_p (x12, operands[1]))
                return -1;
              x16 = XEXP (x10, 1);
              if (!rtx_equal_p (x16, operands[2]))
                return -1;
              x13 = XEXP (x7, 0);
              if (!rtx_equal_p (x13, operands[1]))
                return -1;
              x17 = XEXP (x7, 1);
              if (!rtx_equal_p (x17, operands[2]))
                return -1;
              switch (GET_MODE (x6))
                {
                case SImode:
                  if (pnum_clobbers == NULL
                      || pattern913 (x1, HImode, SImode) != 0
                      || !
#line 7180 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))))
                    return -1;
                  *pnum_clobbers = 1;
                  return 338; /* *umulvhi4 */

                case DImode:
                  if (pnum_clobbers == NULL
                      || pattern913 (x1, SImode, DImode) != 0
                      || !
#line 7180 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))))
                    return -1;
                  *pnum_clobbers = 1;
                  return 339; /* *umulvsi4 */

                case TImode:
                  if (pnum_clobbers == NULL
                      || pattern913 (x1, DImode, TImode) != 0
                      || !(
#line 7180 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
#line 986 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                    return -1;
                  *pnum_clobbers = 1;
                  return 340; /* *umulvdi4 */

                case HImode:
                  if (pattern913 (x1, QImode, HImode) != 0
                      || !
#line 7224 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_QIMODE_MATH
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
                    return -1;
                  return 342; /* *umulvqi4 */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    case NE:
      x7 = XEXP (x2, 1);
      if (GET_CODE (x7) != NEG)
        return -1;
      x6 = XEXP (x4, 0);
      operands[1] = x6;
      x9 = XEXP (x4, 1);
      operands[2] = x9;
      x13 = XEXP (x7, 0);
      if (!rtx_equal_p (x13, operands[1]))
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case QImode:
          if (pattern735 (x7, QImode) != 0
              || !
#line 9111 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_unary_operator_ok (NEG, QImode, operands)
   && mode_signbit_p (QImode, operands[2])))
            return -1;
          return 466; /* *negvqi3 */

        case HImode:
          if (pattern735 (x7, HImode) != 0
              || !
#line 9111 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_unary_operator_ok (NEG, HImode, operands)
   && mode_signbit_p (HImode, operands[2])))
            return -1;
          return 467; /* *negvhi3 */

        case SImode:
          if (pattern735 (x7, SImode) != 0
              || !
#line 9111 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_unary_operator_ok (NEG, SImode, operands)
   && mode_signbit_p (SImode, operands[2])))
            return -1;
          return 468; /* *negvsi3 */

        case DImode:
          if (pattern735 (x7, DImode) != 0
              || !(
#line 9111 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_unary_operator_ok (NEG, DImode, operands)
   && mode_signbit_p (DImode, operands[2])) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          return 469; /* *negvdi3 */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_220 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  x5 = XVECEXP (x4, 0, 0);
  operands[1] = x5;
  x6 = XVECEXP (x4, 0, 1);
  operands[2] = x6;
  switch (XINT (x4, 1))
    {
    case 124:
      x7 = XVECEXP (x1, 0, 1);
      x8 = XVECEXP (x7, 0, 0);
      if (!const_4_or_8_to_11_operand (x8, SImode))
        return -1;
      x9 = XVECEXP (x4, 0, 2);
      switch (GET_CODE (x9))
        {
        case REG:
        case SUBREG:
        case MEM:
          operands[3] = x9;
          x10 = XEXP (x3, 1);
          switch (GET_CODE (x10))
            {
            case CONST_INT:
            case CONST_DOUBLE:
            case CONST_VECTOR:
              operands[4] = x10;
              x11 = XEXP (x3, 2);
              operands[5] = x11;
              operands[6] = x8;
              switch (GET_MODE (operands[0]))
                {
                case V16SFmode:
                  if (pattern868 (x3, HImode, V16SFmode) != 0
                      || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3929 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V16SFmode == V16SFmode
							      || V16SFmode == V8DFmode
							      || V16SFmode == V8DImode
							      || V16SFmode == V16SImode))))
                    return -1;
                  return 1983; /* fma_fmaddsub_v16sf_maskz_1_round */

                case V8DFmode:
                  if (pattern868 (x3, QImode, V8DFmode) != 0
                      || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3929 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V8DFmode == V16SFmode
							      || V8DFmode == V8DFmode
							      || V8DFmode == V8DImode
							      || V8DFmode == V16SImode))))
                    return -1;
                  return 1992; /* fma_fmaddsub_v8df_maskz_1_round */

                default:
                  return -1;
                }

            case REG:
            case SUBREG:
              x11 = XEXP (x3, 2);
              operands[4] = x11;
              operands[5] = x8;
              switch (GET_MODE (operands[0]))
                {
                case V16SFmode:
                  if (pattern832 (x3, V16SFmode, HImode) != 0)
                    return -1;
                  if (nonimmediate_operand (operands[3], V16SFmode)
                      && rtx_equal_p (x10, operands[1])
                      && 
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                    return 1998; /* avx512f_fmaddsub_v16sf_mask_round */
                  if (!register_operand (operands[3], V16SFmode)
                      || !rtx_equal_p (x10, operands[3])
                      || !
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                    return -1;
                  return 2010; /* avx512f_fmaddsub_v16sf_mask3_round */

                case V8SFmode:
                  if (pattern832 (x3, V8SFmode, QImode) != 0)
                    return -1;
                  if (nonimmediate_operand (operands[3], V8SFmode)
                      && rtx_equal_p (x10, operands[1])
                      && (
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 3947 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return 2000; /* avx512vl_fmaddsub_v8sf_mask_round */
                  if (!register_operand (operands[3], V8SFmode)
                      || !rtx_equal_p (x10, operands[3])
                      || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 3965 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 2012; /* avx512vl_fmaddsub_v8sf_mask3_round */

                case V4SFmode:
                  if (pattern832 (x3, V4SFmode, QImode) != 0)
                    return -1;
                  if (nonimmediate_operand (operands[3], V4SFmode)
                      && rtx_equal_p (x10, operands[1])
                      && (
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 3947 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return 2002; /* avx512vl_fmaddsub_v4sf_mask_round */
                  if (!register_operand (operands[3], V4SFmode)
                      || !rtx_equal_p (x10, operands[3])
                      || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 3965 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 2014; /* avx512vl_fmaddsub_v4sf_mask3_round */

                case V8DFmode:
                  if (pattern832 (x3, V8DFmode, QImode) != 0)
                    return -1;
                  if (nonimmediate_operand (operands[3], V8DFmode)
                      && rtx_equal_p (x10, operands[1])
                      && 
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                    return 2004; /* avx512f_fmaddsub_v8df_mask_round */
                  if (!register_operand (operands[3], V8DFmode)
                      || !rtx_equal_p (x10, operands[3])
                      || !
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                    return -1;
                  return 2016; /* avx512f_fmaddsub_v8df_mask3_round */

                case V4DFmode:
                  if (pattern832 (x3, V4DFmode, QImode) != 0)
                    return -1;
                  if (nonimmediate_operand (operands[3], V4DFmode)
                      && rtx_equal_p (x10, operands[1])
                      && (
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 3947 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return 2006; /* avx512vl_fmaddsub_v4df_mask_round */
                  if (!register_operand (operands[3], V4DFmode)
                      || !rtx_equal_p (x10, operands[3])
                      || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 3965 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 2018; /* avx512vl_fmaddsub_v4df_mask3_round */

                case V2DFmode:
                  if (pattern832 (x3, V2DFmode, QImode) != 0)
                    return -1;
                  if (nonimmediate_operand (operands[3], V2DFmode)
                      && rtx_equal_p (x10, operands[1])
                      && (
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 3947 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return 2008; /* avx512vl_fmaddsub_v2df_mask_round */
                  if (!register_operand (operands[3], V2DFmode)
                      || !rtx_equal_p (x10, operands[3])
                      || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 3965 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 2020; /* avx512vl_fmaddsub_v2df_mask3_round */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case NEG:
          x12 = XEXP (x9, 0);
          operands[3] = x12;
          x10 = XEXP (x3, 1);
          switch (GET_CODE (x10))
            {
            case CONST_INT:
            case CONST_DOUBLE:
            case CONST_VECTOR:
              operands[4] = x10;
              x11 = XEXP (x3, 2);
              operands[5] = x11;
              operands[6] = x8;
              switch (GET_MODE (operands[0]))
                {
                case V16SFmode:
                  if (pattern869 (x3, HImode, V16SFmode) != 0
                      || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3998 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V16SFmode == V16SFmode
							      || V16SFmode == V8DFmode
							      || V16SFmode == V8DImode
							      || V16SFmode == V16SImode))))
                    return -1;
                  return 2029; /* fma_fmsubadd_v16sf_maskz_1_round */

                case V8DFmode:
                  if (pattern869 (x3, QImode, V8DFmode) != 0
                      || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3998 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V8DFmode == V16SFmode
							      || V8DFmode == V8DFmode
							      || V8DFmode == V8DImode
							      || V8DFmode == V16SImode))))
                    return -1;
                  return 2038; /* fma_fmsubadd_v8df_maskz_1_round */

                default:
                  return -1;
                }

            case REG:
            case SUBREG:
              x11 = XEXP (x3, 2);
              operands[4] = x11;
              operands[5] = x8;
              switch (GET_MODE (operands[0]))
                {
                case V16SFmode:
                  if (pattern833 (x3, V16SFmode, HImode) != 0)
                    return -1;
                  if (nonimmediate_operand (operands[3], V16SFmode)
                      && rtx_equal_p (x10, operands[1])
                      && 
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                    return 2044; /* avx512f_fmsubadd_v16sf_mask_round */
                  if (!register_operand (operands[3], V16SFmode)
                      || !rtx_equal_p (x10, operands[3])
                      || !
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                    return -1;
                  return 2056; /* avx512f_fmsubadd_v16sf_mask3_round */

                case V8SFmode:
                  if (pattern833 (x3, V8SFmode, QImode) != 0)
                    return -1;
                  if (nonimmediate_operand (operands[3], V8SFmode)
                      && rtx_equal_p (x10, operands[1])
                      && (
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 4017 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return 2046; /* avx512vl_fmsubadd_v8sf_mask_round */
                  if (!register_operand (operands[3], V8SFmode)
                      || !rtx_equal_p (x10, operands[3])
                      || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 4036 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 2058; /* avx512vl_fmsubadd_v8sf_mask3_round */

                case V4SFmode:
                  if (pattern833 (x3, V4SFmode, QImode) != 0)
                    return -1;
                  if (nonimmediate_operand (operands[3], V4SFmode)
                      && rtx_equal_p (x10, operands[1])
                      && (
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 4017 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return 2048; /* avx512vl_fmsubadd_v4sf_mask_round */
                  if (!register_operand (operands[3], V4SFmode)
                      || !rtx_equal_p (x10, operands[3])
                      || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 4036 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 2060; /* avx512vl_fmsubadd_v4sf_mask3_round */

                case V8DFmode:
                  if (pattern833 (x3, V8DFmode, QImode) != 0)
                    return -1;
                  if (nonimmediate_operand (operands[3], V8DFmode)
                      && rtx_equal_p (x10, operands[1])
                      && 
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                    return 2050; /* avx512f_fmsubadd_v8df_mask_round */
                  if (!register_operand (operands[3], V8DFmode)
                      || !rtx_equal_p (x10, operands[3])
                      || !
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                    return -1;
                  return 2062; /* avx512f_fmsubadd_v8df_mask3_round */

                case V4DFmode:
                  if (pattern833 (x3, V4DFmode, QImode) != 0)
                    return -1;
                  if (nonimmediate_operand (operands[3], V4DFmode)
                      && rtx_equal_p (x10, operands[1])
                      && (
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 4017 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return 2052; /* avx512vl_fmsubadd_v4df_mask_round */
                  if (!register_operand (operands[3], V4DFmode)
                      || !rtx_equal_p (x10, operands[3])
                      || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 4036 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 2064; /* avx512vl_fmsubadd_v4df_mask3_round */

                case V2DFmode:
                  if (pattern833 (x3, V2DFmode, QImode) != 0)
                    return -1;
                  if (nonimmediate_operand (operands[3], V2DFmode)
                      && rtx_equal_p (x10, operands[1])
                      && (
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 4017 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return 2054; /* avx512vl_fmsubadd_v2df_mask_round */
                  if (!register_operand (operands[3], V2DFmode)
                      || !rtx_equal_p (x10, operands[3])
                      || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 4036 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 2066; /* avx512vl_fmsubadd_v2df_mask3_round */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 83:
      x11 = XEXP (x3, 2);
      if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
        return -1;
      x9 = XVECEXP (x4, 0, 2);
      operands[3] = x9;
      if (!const_0_to_255_operand (operands[3], SImode))
        return -1;
      switch (pattern741 (x1))
        {
        case 0:
          if (!
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
            return -1;
          return 2690; /* avx512f_rndscalev4sf_round */

        case 1:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8437 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))))
            return -1;
          return 2692; /* avx512f_rndscalev2df_round */

        default:
          return -1;
        }

    case 194:
      x9 = XVECEXP (x4, 0, 2);
      operands[3] = x9;
      if (!const_0_to_15_operand (operands[3], SImode))
        return -1;
      x7 = XVECEXP (x1, 0, 1);
      x8 = XVECEXP (x7, 0, 0);
      if (!const48_operand (x8, SImode))
        return -1;
      x11 = XEXP (x3, 2);
      switch (GET_CODE (x11))
        {
        case REG:
        case SUBREG:
          operands[5] = x11;
          x10 = XEXP (x3, 1);
          operands[4] = x10;
          operands[6] = x8;
          switch (GET_MODE (operands[0]))
            {
            case V16SFmode:
              if (pattern870 (x3, HImode, V16SFmode) != 0
                  || !(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 19422 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && (V16SFmode == V16SFmode
									      || V16SFmode == V8DFmode
									      || V16SFmode == V8DImode
									      || V16SFmode == V16SImode)))))
                return -1;
              return 4804; /* avx512dq_rangepv16sf_mask_round */

            case V8DFmode:
              if (pattern870 (x3, QImode, V8DFmode) != 0
                  || !(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 19422 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && (V8DFmode == V16SFmode
									      || V8DFmode == V8DFmode
									      || V8DFmode == V8DImode
									      || V8DFmode == V16SImode)))))
                return -1;
              return 4812; /* avx512dq_rangepv8df_mask_round */

            default:
              return -1;
            }

        case CONST_INT:
          if (XWINT (x11, 0) != 1LL)
            return -1;
          operands[4] = x8;
          switch (pattern740 (x3))
            {
            case 0:
              if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 19438 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ)))
                return -1;
              return 4818; /* avx512dq_rangesv4sf_round */

            case 1:
              if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 19438 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))))
                return -1;
              return 4820; /* avx512dq_rangesv2df_round */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 162:
      x11 = XEXP (x3, 2);
      if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
        return -1;
      x9 = XVECEXP (x4, 0, 2);
      operands[3] = x9;
      if (!const_0_to_15_operand (operands[3], SImode))
        return -1;
      switch (pattern741 (x1))
        {
        case 0:
          if (!
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
            return -1;
          return 4860; /* avx512f_vgetmantv4sf_round */

        case 1:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 19493 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))))
            return -1;
          return 4862; /* avx512f_vgetmantv2df_round */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_221 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  switch (XVECLEN (x4, 0))
    {
    case 2:
      x5 = XVECEXP (x4, 0, 0);
      operands[1] = x5;
      x6 = XVECEXP (x4, 0, 1);
      operands[2] = x6;
      switch (XINT (x4, 1))
        {
        case 50:
          switch (pattern632 (x1))
            {
            case 0:
              if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1901 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && (64 == 64 || TARGET_AVX512VL) && (V16SFmode == V16SFmode
									      || V16SFmode == V8DFmode
									      || V16SFmode == V8DImode
									      || V16SFmode == V16SImode)) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))))
                return -1;
              return 1558; /* ieee_maxv16sf3_mask_round */

            case 1:
              if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1901 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && (64 == 64 || TARGET_AVX512VL) && (V8DFmode == V16SFmode
									      || V8DFmode == V8DFmode
									      || V8DFmode == V8DImode
									      || V8DFmode == V16SImode)) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))))
                return -1;
              return 1574; /* ieee_maxv8df3_mask_round */

            default:
              return -1;
            }

        case 49:
          switch (pattern632 (x1))
            {
            case 0:
              if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1901 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && (64 == 64 || TARGET_AVX512VL) && (V16SFmode == V16SFmode
									      || V16SFmode == V8DFmode
									      || V16SFmode == V8DImode
									      || V16SFmode == V16SImode)) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))))
                return -1;
              return 1562; /* ieee_minv16sf3_mask_round */

            case 1:
              if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1901 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && (64 == 64 || TARGET_AVX512VL) && (V8DFmode == V16SFmode
									      || V8DFmode == V8DFmode
									      || V8DFmode == V8DImode
									      || V8DFmode == V16SImode)) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))))
                return -1;
              return 1578; /* ieee_minv8df3_mask_round */

            default:
              return -1;
            }

        case 159:
          x7 = XVECEXP (x1, 0, 1);
          x8 = XVECEXP (x7, 0, 0);
          if (!const_4_or_8_to_11_operand (x8, SImode))
            return -1;
          x9 = XEXP (x3, 2);
          switch (GET_CODE (x9))
            {
            case CONST_INT:
              if (XWINT (x9, 0) != 1LL)
                return -1;
              operands[3] = x8;
              switch (pattern740 (x3))
                {
                case 0:
                  if (!
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                    return -1;
                  return 2532; /* avx512f_vmscalefv4sf_round */

                case 1:
                  if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8191 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))))
                    return -1;
                  return 2534; /* avx512f_vmscalefv2df_round */

                default:
                  return -1;
                }

            case REG:
            case SUBREG:
              operands[4] = x9;
              x10 = XEXP (x3, 1);
              operands[3] = x10;
              operands[5] = x8;
              switch (GET_MODE (operands[0]))
                {
                case V16SFmode:
                  if (pattern817 (x3, V16SFmode, HImode) != 0
                      || !
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                    return -1;
                  return 2538; /* avx512f_scalefv16sf_mask_round */

                case V8SFmode:
                  if (pattern817 (x3, V8SFmode, QImode) != 0
                      || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8202 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))))
                    return -1;
                  return 2542; /* avx512vl_scalefv8sf_mask_round */

                case V4SFmode:
                  if (pattern817 (x3, V4SFmode, QImode) != 0
                      || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8202 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))))
                    return -1;
                  return 2546; /* avx512vl_scalefv4sf_mask_round */

                case V8DFmode:
                  if (pattern817 (x3, V8DFmode, QImode) != 0
                      || !
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                    return -1;
                  return 2550; /* avx512f_scalefv8df_mask_round */

                case V4DFmode:
                  if (pattern817 (x3, V4DFmode, QImode) != 0
                      || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8202 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))))
                    return -1;
                  return 2554; /* avx512vl_scalefv4df_mask_round */

                case V2DFmode:
                  if (pattern817 (x3, V2DFmode, QImode) != 0
                      || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8202 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))))
                    return -1;
                  return 2558; /* avx512vl_scalefv2df_mask_round */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case 161:
          x9 = XEXP (x3, 2);
          if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
            return -1;
          x7 = XVECEXP (x1, 0, 1);
          x8 = XVECEXP (x7, 0, 0);
          operands[3] = x8;
          if (!const48_operand (operands[3], SImode))
            return -1;
          switch (pattern740 (x3))
            {
            case 0:
              if (!
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                return -1;
              return 2602; /* avx512f_sgetexpv4sf_round */

            case 1:
              if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8271 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))))
                return -1;
              return 2604; /* avx512f_sgetexpv2df_round */

            default:
              return -1;
            }

        case 83:
          if (!const_0_to_255_operand (operands[2], SImode))
            return -1;
          switch (pattern685 (x1))
            {
            case 0:
              if (!
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                return -1;
              return 2668; /* avx512f_rndscalev16sf_mask_round */

            case 1:
              if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8421 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))))
                return -1;
              return 2672; /* avx512vl_rndscalev8sf_mask_round */

            case 2:
              if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8421 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))))
                return -1;
              return 2676; /* avx512vl_rndscalev4sf_mask_round */

            case 3:
              if (!
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                return -1;
              return 2680; /* avx512f_rndscalev8df_mask_round */

            case 4:
              if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8421 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))))
                return -1;
              return 2684; /* avx512vl_rndscalev4df_mask_round */

            case 5:
              if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8421 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))))
                return -1;
              return 2688; /* avx512vl_rndscalev2df_mask_round */

            default:
              return -1;
            }

        case 162:
          if (!const_0_to_15_operand (operands[2], SImode))
            return -1;
          switch (pattern685 (x1))
            {
            case 0:
              if (!
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                return -1;
              return 4838; /* avx512f_getmantv16sf_mask_round */

            case 1:
              if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 19478 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))))
                return -1;
              return 4842; /* avx512vl_getmantv8sf_mask_round */

            case 2:
              if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 19478 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))))
                return -1;
              return 4846; /* avx512vl_getmantv4sf_mask_round */

            case 3:
              if (!
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                return -1;
              return 4850; /* avx512f_getmantv8df_mask_round */

            case 4:
              if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 19478 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))))
                return -1;
              return 4854; /* avx512vl_getmantv4df_mask_round */

            case 5:
              if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 19478 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))))
                return -1;
              return 4858; /* avx512vl_getmantv2df_mask_round */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 3:
      return recog_220 (x1, insn, pnum_clobbers);

    case 1:
      x5 = XVECEXP (x4, 0, 0);
      operands[1] = x5;
      x10 = XEXP (x3, 1);
      operands[2] = x10;
      switch (XINT (x4, 1))
        {
        case 42:
          x9 = XEXP (x3, 2);
          operands[3] = x9;
          x7 = XVECEXP (x1, 0, 1);
          x8 = XVECEXP (x7, 0, 0);
          operands[4] = x8;
          if (!const_4_or_8_to_11_operand (operands[4], SImode))
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case V16SImode:
              if (pattern772 (x3, HImode, V16SImode, V16SFmode) != 0
                  || !
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                return -1;
              return 2142; /* avx512f_fix_notruncv16sfv16si_mask_round */

            case V8DImode:
              if (pattern712 (x3, V8DImode) != 0)
                return -1;
              switch (GET_MODE (operands[1]))
                {
                case V8SFmode:
                  if (!nonimmediate_operand (operands[1], V8SFmode)
                      || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 4497 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && (V8DImode == V16SFmode
							      || V8DImode == V8DFmode
							      || V8DImode == V8DImode
							      || V8DImode == V16SImode)))))
                    return -1;
                  return 2158; /* avx512dq_cvtps2qqv8di_mask_round */

                case V8DFmode:
                  if (!register_operand (operands[1], V8DFmode)
                      || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 5175 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && (V8DFmode == V16SFmode
							      || V8DFmode == V8DFmode
							      || V8DFmode == V8DImode
							      || V8DFmode == V16SImode)))))
                    return -1;
                  return 2323; /* fix_notruncv8dfv8di2_mask_round */

                default:
                  return -1;
                }

            case V8SImode:
              if (pattern772 (x3, QImode, V8SImode, V8DFmode) != 0
                  || !
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                return -1;
              return 2274; /* avx512f_cvtpd2dq512_mask_round */

            default:
              return -1;
            }

        case 151:
          x9 = XEXP (x3, 2);
          operands[3] = x9;
          x7 = XVECEXP (x1, 0, 1);
          x8 = XVECEXP (x7, 0, 0);
          operands[4] = x8;
          if (!const_4_or_8_to_11_operand (operands[4], SImode))
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case V16SImode:
              if (!register_operand (operands[0], V16SImode)
                  || GET_MODE (x3) != V16SImode
                  || GET_MODE (x4) != V16SImode
                  || !nonimmediate_operand (operands[1], V16SFmode)
                  || !vector_move_operand (operands[2], V16SImode)
                  || !register_operand (operands[3], HImode)
                  || !
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                return -1;
              return 2146; /* avx512f_ufix_notruncv16sfv16si_mask_round */

            case V8SImode:
              switch (pattern773 (x3, V8SImode))
                {
                case 0:
                  if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 4487 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 344 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))))
                    return -1;
                  return 2150; /* avx512vl_ufix_notruncv8sfv8si_mask_round */

                case 1:
                  if (!
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                    return -1;
                  return 2283; /* ufix_notruncv8dfv8si2_mask_round */

                default:
                  return -1;
                }

            case V4SImode:
              if (pattern712 (x3, V4SImode) != 0)
                return -1;
              switch (GET_MODE (operands[1]))
                {
                case V4SFmode:
                  if (!nonimmediate_operand (operands[1], V4SFmode)
                      || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 4487 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 344 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))))
                    return -1;
                  return 2154; /* avx512vl_ufix_notruncv4sfv4si_mask_round */

                case V4DFmode:
                  if (!nonimmediate_operand (operands[1], V4DFmode)
                      || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 5102 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 256 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))))
                    return -1;
                  return 2287; /* ufix_notruncv4dfv4si2_mask_round */

                default:
                  return -1;
                }

            case V8DImode:
              switch (pattern773 (x3, V8DImode))
                {
                case 0:
                  if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 4520 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && (V8DImode == V16SFmode
							      || V8DImode == V8DFmode
							      || V8DImode == V8DImode
							      || V8DImode == V16SImode)))))
                    return -1;
                  return 2166; /* avx512dq_cvtps2uqqv8di_mask_round */

                case 1:
                  if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 5186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && (V8DFmode == V16SFmode
							      || V8DFmode == V8DFmode
							      || V8DFmode == V8DImode
							      || V8DFmode == V16SImode)))))
                    return -1;
                  return 2331; /* ufix_notruncv8dfv8di2_mask_round */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case 161:
          x9 = XEXP (x3, 2);
          operands[3] = x9;
          x7 = XVECEXP (x1, 0, 1);
          x8 = XVECEXP (x7, 0, 0);
          operands[4] = x8;
          if (!const48_operand (operands[4], SImode))
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case V16SFmode:
              if (pattern633 (x3, HImode, V16SFmode) != 0
                  || !
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                return -1;
              return 2580; /* avx512f_getexpv16sf_mask_round */

            case V8SFmode:
              if (pattern633 (x3, QImode, V8SFmode) != 0
                  || !(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8257 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))))
                return -1;
              return 2584; /* avx512vl_getexpv8sf_mask_round */

            case V4SFmode:
              if (pattern633 (x3, QImode, V4SFmode) != 0
                  || !(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8257 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))))
                return -1;
              return 2588; /* avx512vl_getexpv4sf_mask_round */

            case V8DFmode:
              if (pattern633 (x3, QImode, V8DFmode) != 0
                  || !
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                return -1;
              return 2592; /* avx512f_getexpv8df_mask_round */

            case V4DFmode:
              if (pattern633 (x3, QImode, V4DFmode) != 0
                  || !(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8257 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))))
                return -1;
              return 2596; /* avx512vl_getexpv4df_mask_round */

            case V2DFmode:
              if (pattern633 (x3, QImode, V2DFmode) != 0
                  || !(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8257 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))))
                return -1;
              return 2600; /* avx512vl_getexpv2df_mask_round */

            default:
              return -1;
            }

        case 176:
          x9 = XEXP (x3, 2);
          operands[3] = x9;
          x7 = XVECEXP (x1, 0, 1);
          x8 = XVECEXP (x7, 0, 0);
          operands[4] = x8;
          if (!const48_operand (operands[4], SImode))
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case V16SFmode:
              if (pattern633 (x3, HImode, V16SFmode) != 0
                  || !(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 16170 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512ER))))
                return -1;
              return 3954; /* avx512er_exp2v16sf_mask_round */

            case V8DFmode:
              if (pattern633 (x3, QImode, V8DFmode) != 0
                  || !(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 16170 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512ER))))
                return -1;
              return 3958; /* avx512er_exp2v8df_mask_round */

            default:
              return -1;
            }

        case 177:
          switch (pattern635 (x1))
            {
            case 0:
              if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 16181 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512ER))))
                return -1;
              return 3962; /* avx512er_rcp28v16sf_mask_round */

            case 1:
              if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 16181 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512ER))))
                return -1;
              return 3966; /* avx512er_rcp28v8df_mask_round */

            case 2:
              if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 16195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512ER)))
                return -1;
              return 3968; /* avx512er_vmrcp28v4sf_round */

            case 3:
              if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 16195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512ER) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))))
                return -1;
              return 3970; /* avx512er_vmrcp28v2df_round */

            default:
              return -1;
            }

        case 178:
          switch (pattern635 (x1))
            {
            case 0:
              if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 16207 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512ER))))
                return -1;
              return 3974; /* avx512er_rsqrt28v16sf_mask_round */

            case 1:
              if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 16207 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512ER))))
                return -1;
              return 3978; /* avx512er_rsqrt28v8df_mask_round */

            case 2:
              if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 16221 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512ER)))
                return -1;
              return 3980; /* avx512er_vmrsqrt28v4sf_round */

            case 3:
              if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 16221 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512ER) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))))
                return -1;
              return 3982; /* avx512er_vmrsqrt28v2df_round */

            default:
              return -1;
            }

        case 142:
          if (GET_MODE (x4) != V16SFmode
              || !register_operand (operands[0], V16SFmode)
              || GET_MODE (x3) != V16SFmode
              || !register_operand (operands[1], V16HImode)
              || !vector_move_operand (operands[2], V16SFmode))
            return -1;
          x9 = XEXP (x3, 2);
          operands[3] = x9;
          if (!register_operand (operands[3], HImode))
            return -1;
          x7 = XVECEXP (x1, 0, 1);
          x8 = XVECEXP (x7, 0, 0);
          operands[4] = x8;
          if (!const48_operand (operands[4], SImode)
              || !
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
            return -1;
          return 4541; /* avx512f_vcvtph2ps512_mask_round */

        default:
          return -1;
        }

    case 4:
      if (XINT (x4, 1) != 158)
        return -1;
      x5 = XVECEXP (x4, 0, 0);
      operands[1] = x5;
      x6 = XVECEXP (x4, 0, 1);
      operands[2] = x6;
      x11 = XVECEXP (x4, 0, 2);
      operands[3] = x11;
      x12 = XVECEXP (x4, 0, 3);
      operands[4] = x12;
      if (!const_0_to_255_operand (operands[4], SImode))
        return -1;
      x7 = XVECEXP (x1, 0, 1);
      x8 = XVECEXP (x7, 0, 0);
      if (!const48_operand (x8, SImode))
        return -1;
      x10 = XEXP (x3, 1);
      switch (GET_CODE (x10))
        {
        case CONST_INT:
        case CONST_DOUBLE:
        case CONST_VECTOR:
          operands[5] = x10;
          x9 = XEXP (x3, 2);
          operands[6] = x9;
          operands[7] = x8;
          switch (GET_MODE (operands[0]))
            {
            case V16SFmode:
              if (pattern893 (x3, V16SFmode, V16SImode, HImode) != 0
                  || !
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                return -1;
              return 2620; /* avx512f_fixupimmv16sf_maskz_1_round */

            case V8SFmode:
              if (pattern893 (x3, V8SFmode, V8SImode, QImode) != 0
                  || !(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8343 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 2624; /* avx512vl_fixupimmv8sf_maskz_1_round */

            case V4SFmode:
              if (pattern893 (x3, V4SFmode, V4SImode, QImode) != 0
                  || !(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8343 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 2628; /* avx512vl_fixupimmv4sf_maskz_1_round */

            case V8DFmode:
              if (pattern893 (x3, V8DFmode, V8DImode, QImode) != 0
                  || !
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                return -1;
              return 2632; /* avx512f_fixupimmv8df_maskz_1_round */

            case V4DFmode:
              if (pattern893 (x3, V4DFmode, V4DImode, QImode) != 0
                  || !(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8343 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 2636; /* avx512vl_fixupimmv4df_maskz_1_round */

            case V2DFmode:
              if (pattern893 (x3, V2DFmode, V2DImode, QImode) != 0
                  || !(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8343 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                return -1;
              return 2640; /* avx512vl_fixupimmv2df_maskz_1_round */

            default:
              return -1;
            }

        case REG:
        case SUBREG:
          if (!rtx_equal_p (x10, operands[1]))
            return -1;
          x9 = XEXP (x3, 2);
          switch (GET_CODE (x9))
            {
            case REG:
            case SUBREG:
              operands[5] = x9;
              operands[6] = x8;
              switch (GET_MODE (operands[0]))
                {
                case V16SFmode:
                  if (pattern900 (x3, V16SImode, V16SFmode, HImode) != 0
                      || !
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                    return -1;
                  return 2642; /* avx512f_fixupimmv16sf_mask_round */

                case V8SFmode:
                  if (pattern900 (x3, V8SImode, V8SFmode, QImode) != 0
                      || !(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8359 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 2644; /* avx512vl_fixupimmv8sf_mask_round */

                case V4SFmode:
                  if (pattern900 (x3, V4SImode, V4SFmode, QImode) != 0
                      || !(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8359 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 2646; /* avx512vl_fixupimmv4sf_mask_round */

                case V8DFmode:
                  if (pattern900 (x3, V8DImode, V8DFmode, QImode) != 0
                      || !
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                    return -1;
                  return 2648; /* avx512f_fixupimmv8df_mask_round */

                case V4DFmode:
                  if (pattern900 (x3, V4DImode, V4DFmode, QImode) != 0
                      || !(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8359 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 2650; /* avx512vl_fixupimmv4df_mask_round */

                case V2DFmode:
                  if (pattern900 (x3, V2DImode, V2DFmode, QImode) != 0
                      || !(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8359 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 2652; /* avx512vl_fixupimmv2df_mask_round */

                default:
                  return -1;
                }

            case CONST_INT:
              if (XWINT (x9, 0) != 1LL)
                return -1;
              operands[5] = x8;
              switch (GET_MODE (operands[0]))
                {
                case V4SFmode:
                  if (pattern901 (x3, V4SImode, V4SFmode) != 0
                      || !
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                    return -1;
                  return 2654; /* avx512f_sfixupimmv4sf_round */

                case V2DFmode:
                  if (pattern901 (x3, V2DImode, V2DFmode) != 0
                      || !(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8391 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))))
                    return -1;
                  return 2658; /* avx512f_sfixupimmv2df_round */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_222 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XVECEXP (x2, 0, 0);
  if (!const_4_or_8_to_11_operand (x3, SImode))
    return -1;
  x4 = XVECEXP (x1, 0, 0);
  x5 = XEXP (x4, 1);
  x6 = XEXP (x5, 0);
  x7 = XEXP (x6, 0);
  switch (GET_CODE (x7))
    {
    case REG:
    case SUBREG:
      operands[1] = x7;
      x8 = XEXP (x6, 1);
      operands[2] = x8;
      x9 = XEXP (x6, 2);
      switch (GET_CODE (x9))
        {
        case REG:
        case SUBREG:
        case MEM:
          operands[3] = x9;
          x10 = XEXP (x5, 1);
          switch (GET_CODE (x10))
            {
            case CONST_INT:
            case CONST_DOUBLE:
            case CONST_VECTOR:
              operands[4] = x10;
              x11 = XEXP (x5, 2);
              operands[5] = x11;
              operands[6] = x3;
              switch (GET_MODE (operands[0]))
                {
                case V16SFmode:
                  if (pattern835 (x5, HImode, V16SFmode) != 0
                      || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3625 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V16SFmode == V16SFmode
							      || V16SFmode == V8DFmode
							      || V16SFmode == V8DImode
							      || V16SFmode == V16SImode))))
                    return -1;
                  return 1799; /* fma_fmadd_v16sf_maskz_1_round */

                case V8DFmode:
                  if (pattern835 (x5, QImode, V8DFmode) != 0
                      || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3625 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V8DFmode == V16SFmode
							      || V8DFmode == V8DFmode
							      || V8DFmode == V8DImode
							      || V8DFmode == V16SImode))))
                    return -1;
                  return 1808; /* fma_fmadd_v8df_maskz_1_round */

                default:
                  return -1;
                }

            case REG:
            case SUBREG:
              x11 = XEXP (x5, 2);
              switch (GET_CODE (x11))
                {
                case REG:
                case SUBREG:
                  operands[4] = x11;
                  operands[5] = x3;
                  switch (GET_MODE (operands[0]))
                    {
                    case V16SFmode:
                      if (pattern836 (x5, HImode, V16SFmode) != 0)
                        return -1;
                      if (nonimmediate_operand (operands[3], V16SFmode)
                          && rtx_equal_p (x10, operands[1])
                          && (
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3642 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (V16SFmode == V16SFmode
							      || V16SFmode == V8DFmode
							      || V16SFmode == V8DImode
							      || V16SFmode == V16SImode))))
                        return 1814; /* avx512f_fmadd_v16sf_mask_round */
                      if (!register_operand (operands[3], V16SFmode)
                          || !rtx_equal_p (x10, operands[3])
                          || !
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                        return -1;
                      return 1822; /* avx512f_fmadd_v16sf_mask3_round */

                    case V8DFmode:
                      if (pattern836 (x5, QImode, V8DFmode) != 0)
                        return -1;
                      if (nonimmediate_operand (operands[3], V8DFmode)
                          && rtx_equal_p (x10, operands[1])
                          && (
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3642 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (V8DFmode == V16SFmode
							      || V8DFmode == V8DFmode
							      || V8DFmode == V8DImode
							      || V8DFmode == V16SImode))))
                        return 1818; /* avx512f_fmadd_v8df_mask_round */
                      if (!register_operand (operands[3], V8DFmode)
                          || !rtx_equal_p (x10, operands[3])
                          || !
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                        return -1;
                      return 1828; /* avx512f_fmadd_v8df_mask3_round */

                    case V8SFmode:
                      if (pattern837 (x5, V8SFmode) != 0
                          || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 3659 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                        return -1;
                      return 1824; /* avx512vl_fmadd_v8sf_mask3_round */

                    case V4SFmode:
                      if (pattern837 (x5, V4SFmode) != 0
                          || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 3659 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                        return -1;
                      return 1826; /* avx512vl_fmadd_v4sf_mask3_round */

                    case V4DFmode:
                      if (pattern837 (x5, V4DFmode) != 0
                          || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 3659 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                        return -1;
                      return 1830; /* avx512vl_fmadd_v4df_mask3_round */

                    case V2DFmode:
                      if (pattern837 (x5, V2DFmode) != 0
                          || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 3659 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                        return -1;
                      return 1832; /* avx512vl_fmadd_v2df_mask3_round */

                    default:
                      return -1;
                    }

                case CONST_INT:
                  if (XWINT (x11, 0) != 1LL)
                    return -1;
                  operands[4] = x3;
                  if (!rtx_equal_p (x10, operands[1]))
                    return -1;
                  switch (GET_MODE (operands[0]))
                    {
                    case V4SFmode:
                      if (pattern871 (x5, V4SFmode) != 0
                          || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 4065 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_AVX512F)))
                        return -1;
                      return 2068; /* *fmai_fmadd_v4sf */

                    case V2DFmode:
                      if (pattern871 (x5, V2DFmode) != 0
                          || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 4065 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_AVX512F) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))))
                        return -1;
                      return 2070; /* *fmai_fmadd_v2df */

                    default:
                      return -1;
                    }

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case NEG:
          x12 = XEXP (x9, 0);
          operands[3] = x12;
          x10 = XEXP (x5, 1);
          switch (GET_CODE (x10))
            {
            case CONST_INT:
            case CONST_DOUBLE:
            case CONST_VECTOR:
              operands[4] = x10;
              x11 = XEXP (x5, 2);
              operands[5] = x11;
              operands[6] = x3;
              switch (GET_MODE (operands[0]))
                {
                case V16SFmode:
                  if (pattern839 (x5, HImode, V16SFmode) != 0
                      || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3690 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V16SFmode == V16SFmode
							      || V16SFmode == V8DFmode
							      || V16SFmode == V8DImode
							      || V16SFmode == V16SImode))))
                    return -1;
                  return 1843; /* fma_fmsub_v16sf_maskz_1_round */

                case V8DFmode:
                  if (pattern839 (x5, QImode, V8DFmode) != 0
                      || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3690 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V8DFmode == V16SFmode
							      || V8DFmode == V8DFmode
							      || V8DFmode == V8DImode
							      || V8DFmode == V16SImode))))
                    return -1;
                  return 1852; /* fma_fmsub_v8df_maskz_1_round */

                default:
                  return -1;
                }

            case REG:
            case SUBREG:
              x11 = XEXP (x5, 2);
              switch (GET_CODE (x11))
                {
                case REG:
                case SUBREG:
                  operands[4] = x11;
                  operands[5] = x3;
                  switch (GET_MODE (operands[0]))
                    {
                    case V16SFmode:
                      if (pattern840 (x5, HImode, V16SFmode) != 0)
                        return -1;
                      if (nonimmediate_operand (operands[3], V16SFmode)
                          && rtx_equal_p (x10, operands[1])
                          && 
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                        return 1858; /* avx512f_fmsub_v16sf_mask_round */
                      if (!register_operand (operands[3], V16SFmode)
                          || !rtx_equal_p (x10, operands[3])
                          || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3726 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (V16SFmode == V16SFmode
							      || V16SFmode == V8DFmode
							      || V16SFmode == V8DImode
							      || V16SFmode == V16SImode))))
                        return -1;
                      return 1870; /* avx512f_fmsub_v16sf_mask3_round */

                    case V8SFmode:
                      if (pattern841 (x5, V8SFmode) != 0
                          || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 3708 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                        return -1;
                      return 1860; /* avx512vl_fmsub_v8sf_mask_round */

                    case V4SFmode:
                      if (pattern841 (x5, V4SFmode) != 0
                          || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 3708 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                        return -1;
                      return 1862; /* avx512vl_fmsub_v4sf_mask_round */

                    case V8DFmode:
                      if (pattern840 (x5, QImode, V8DFmode) != 0)
                        return -1;
                      if (nonimmediate_operand (operands[3], V8DFmode)
                          && rtx_equal_p (x10, operands[1])
                          && 
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                        return 1864; /* avx512f_fmsub_v8df_mask_round */
                      if (!register_operand (operands[3], V8DFmode)
                          || !rtx_equal_p (x10, operands[3])
                          || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3726 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (V8DFmode == V16SFmode
							      || V8DFmode == V8DFmode
							      || V8DFmode == V8DImode
							      || V8DFmode == V16SImode))))
                        return -1;
                      return 1874; /* avx512f_fmsub_v8df_mask3_round */

                    case V4DFmode:
                      if (pattern841 (x5, V4DFmode) != 0
                          || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 3708 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                        return -1;
                      return 1866; /* avx512vl_fmsub_v4df_mask_round */

                    case V2DFmode:
                      if (pattern841 (x5, V2DFmode) != 0
                          || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 3708 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                        return -1;
                      return 1868; /* avx512vl_fmsub_v2df_mask_round */

                    default:
                      return -1;
                    }

                case CONST_INT:
                  if (XWINT (x11, 0) != 1LL)
                    return -1;
                  operands[4] = x3;
                  if (!rtx_equal_p (x10, operands[1]))
                    return -1;
                  switch (GET_MODE (operands[0]))
                    {
                    case V4SFmode:
                      if (pattern872 (x5, V4SFmode) != 0
                          || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 4082 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_AVX512F)))
                        return -1;
                      return 2072; /* *fmai_fmsub_v4sf */

                    case V2DFmode:
                      if (pattern872 (x5, V2DFmode) != 0
                          || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 4082 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_AVX512F) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))))
                        return -1;
                      return 2074; /* *fmai_fmsub_v2df */

                    default:
                      return -1;
                    }

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    case NEG:
      x9 = XEXP (x6, 2);
      switch (GET_CODE (x9))
        {
        case REG:
        case SUBREG:
        case MEM:
          operands[3] = x9;
          switch (pattern636 (x1))
            {
            case 0:
              x11 = XEXP (x5, 2);
              operands[5] = x11;
              operands[6] = x3;
              switch (GET_MODE (operands[0]))
                {
                case V16SFmode:
                  if (pattern842 (x5, HImode, V16SFmode) != 0
                      || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3757 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V16SFmode == V16SFmode
							      || V16SFmode == V8DFmode
							      || V16SFmode == V8DImode
							      || V16SFmode == V16SImode))))
                    return -1;
                  return 1887; /* fma_fnmadd_v16sf_maskz_1_round */

                case V8DFmode:
                  if (pattern842 (x5, QImode, V8DFmode) != 0
                      || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3757 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V8DFmode == V16SFmode
							      || V8DFmode == V8DFmode
							      || V8DFmode == V8DImode
							      || V8DFmode == V16SImode))))
                    return -1;
                  return 1896; /* fma_fnmadd_v8df_maskz_1_round */

                default:
                  return -1;
                }

            case 1:
              operands[5] = x3;
              switch (GET_MODE (operands[0]))
                {
                case V16SFmode:
                  if (pattern843 (x5, HImode, V16SFmode) != 0)
                    return -1;
                  if (nonimmediate_operand (operands[3], V16SFmode))
                    {
                      x10 = XEXP (x5, 1);
                      if (rtx_equal_p (x10, operands[1])
                          && (
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3775 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (V16SFmode == V16SFmode
							      || V16SFmode == V8DFmode
							      || V16SFmode == V8DImode
							      || V16SFmode == V16SImode))))
                        return 1902; /* avx512f_fnmadd_v16sf_mask_round */
                    }
                  if (!register_operand (operands[3], V16SFmode))
                    return -1;
                  x10 = XEXP (x5, 1);
                  if (!rtx_equal_p (x10, operands[3])
                      || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3793 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (V16SFmode == V16SFmode
							      || V16SFmode == V8DFmode
							      || V16SFmode == V8DImode
							      || V16SFmode == V16SImode))))
                    return -1;
                  return 1910; /* avx512f_fnmadd_v16sf_mask3_round */

                case V8DFmode:
                  if (pattern843 (x5, QImode, V8DFmode) != 0)
                    return -1;
                  if (nonimmediate_operand (operands[3], V8DFmode))
                    {
                      x10 = XEXP (x5, 1);
                      if (rtx_equal_p (x10, operands[1])
                          && (
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3775 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (V8DFmode == V16SFmode
							      || V8DFmode == V8DFmode
							      || V8DFmode == V8DImode
							      || V8DFmode == V16SImode))))
                        return 1906; /* avx512f_fnmadd_v8df_mask_round */
                    }
                  if (!register_operand (operands[3], V8DFmode))
                    return -1;
                  x10 = XEXP (x5, 1);
                  if (!rtx_equal_p (x10, operands[3])
                      || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3793 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (V8DFmode == V16SFmode
							      || V8DFmode == V8DFmode
							      || V8DFmode == V8DImode
							      || V8DFmode == V16SImode))))
                    return -1;
                  return 1914; /* avx512f_fnmadd_v8df_mask3_round */

                default:
                  return -1;
                }

            case 2:
              if (pattern873 (x5, V4SFmode) != 0
                  || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 4099 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_AVX512F)))
                return -1;
              return 2076; /* *fmai_fnmadd_v4sf_round */

            case 3:
              if (pattern873 (x5, V2DFmode) != 0
                  || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 4099 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_AVX512F) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))))
                return -1;
              return 2078; /* *fmai_fnmadd_v2df_round */

            default:
              return -1;
            }

        case NEG:
          x12 = XEXP (x9, 0);
          operands[3] = x12;
          switch (pattern636 (x1))
            {
            case 0:
              x11 = XEXP (x5, 2);
              operands[5] = x11;
              operands[6] = x3;
              switch (GET_MODE (operands[0]))
                {
                case V4SFmode:
                  if (pattern844 (x5, V4SFmode) != 0
                      || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3807 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4)))
                    return -1;
                  return 1924; /* *fma_fnmsub_v4sf */

                case V2DFmode:
                  if (pattern844 (x5, V2DFmode) != 0
                      || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3807 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4)))
                    return -1;
                  return 1928; /* *fma_fnmsub_v2df */

                case V8SFmode:
                  if (pattern844 (x5, V8SFmode) != 0
                      || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3807 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4)))
                    return -1;
                  return 1932; /* *fma_fnmsub_v8sf */

                case V4DFmode:
                  if (pattern844 (x5, V4DFmode) != 0
                      || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3807 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4)))
                    return -1;
                  return 1936; /* *fma_fnmsub_v4df */

                case V16SFmode:
                  if (pattern845 (x5, HImode, V16SFmode) != 0
                      || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3826 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V16SFmode == V16SFmode
							      || V16SFmode == V8DFmode
							      || V16SFmode == V8DImode
							      || V16SFmode == V16SImode))))
                    return -1;
                  return 1941; /* fma_fnmsub_v16sf_maskz_1_round */

                case V8DFmode:
                  if (pattern845 (x5, QImode, V8DFmode) != 0
                      || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3826 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V8DFmode == V16SFmode
							      || V8DFmode == V8DFmode
							      || V8DFmode == V8DImode
							      || V8DFmode == V16SImode))))
                    return -1;
                  return 1950; /* fma_fnmsub_v8df_maskz_1_round */

                default:
                  return -1;
                }

            case 1:
              operands[5] = x3;
              switch (GET_MODE (operands[0]))
                {
                case V16SFmode:
                  if (pattern846 (x5, HImode, V16SFmode) != 0)
                    return -1;
                  if (nonimmediate_operand (operands[3], V16SFmode))
                    {
                      x10 = XEXP (x5, 1);
                      if (rtx_equal_p (x10, operands[1])
                          && (
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3845 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (V16SFmode == V16SFmode
							      || V16SFmode == V8DFmode
							      || V16SFmode == V8DImode
							      || V16SFmode == V16SImode))))
                        return 1956; /* avx512f_fnmsub_v16sf_mask_round */
                    }
                  if (!register_operand (operands[3], V16SFmode))
                    return -1;
                  x10 = XEXP (x5, 1);
                  if (!rtx_equal_p (x10, operands[3])
                      || !
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                    return -1;
                  return 1964; /* avx512f_fnmsub_v16sf_mask3_round */

                case V8DFmode:
                  if (pattern846 (x5, QImode, V8DFmode) != 0)
                    return -1;
                  if (nonimmediate_operand (operands[3], V8DFmode))
                    {
                      x10 = XEXP (x5, 1);
                      if (rtx_equal_p (x10, operands[1])
                          && (
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3845 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (V8DFmode == V16SFmode
							      || V8DFmode == V8DFmode
							      || V8DFmode == V8DImode
							      || V8DFmode == V16SImode))))
                        return 1960; /* avx512f_fnmsub_v8df_mask_round */
                    }
                  if (!register_operand (operands[3], V8DFmode))
                    return -1;
                  x10 = XEXP (x5, 1);
                  if (!rtx_equal_p (x10, operands[3])
                      || !
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                    return -1;
                  return 1970; /* avx512f_fnmsub_v8df_mask3_round */

                case V8SFmode:
                  if (pattern847 (x5, V8SFmode) != 0
                      || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 3864 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 1966; /* avx512vl_fnmsub_v8sf_mask3_round */

                case V4SFmode:
                  if (pattern847 (x5, V4SFmode) != 0
                      || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 3864 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 275 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 1968; /* avx512vl_fnmsub_v4sf_mask3_round */

                case V4DFmode:
                  if (pattern847 (x5, V4DFmode) != 0
                      || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 3864 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 1972; /* avx512vl_fnmsub_v4df_mask3_round */

                case V2DFmode:
                  if (pattern847 (x5, V2DFmode) != 0
                      || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 3864 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
                    return -1;
                  return 1974; /* avx512vl_fnmsub_v2df_mask3_round */

                default:
                  return -1;
                }

            case 2:
              if (pattern874 (x5, V4SFmode) != 0
                  || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 4117 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_AVX512F)))
                return -1;
              return 2080; /* *fmai_fnmsub_v4sf_round */

            case 3:
              if (pattern874 (x5, V2DFmode) != 0
                  || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 4117 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_AVX512F) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))))
                return -1;
              return 2082; /* *fmai_fnmsub_v2df_round */

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_223 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19, x20, x21, x22, x23, x24, x25;
  rtx x26, x27, x28, x29, x30;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != REG
      || REGNO (x3) != 17)
    return -1;
  x4 = XEXP (x2, 1);
  x5 = XEXP (x4, 0);
  switch (GET_CODE (x5))
    {
    case REG:
    case SUBREG:
    case MEM:
      return recog_205 (x1, insn, pnum_clobbers);

    case PLUS:
      return recog_206 (x1, insn, pnum_clobbers);

    case NEG:
      return recog_207 (x1, insn, pnum_clobbers);

    case MINUS:
      x6 = XEXP (x4, 1);
      if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x7 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x7) != SET)
        return -1;
      x8 = XEXP (x5, 0);
      operands[1] = x8;
      x9 = XEXP (x5, 1);
      operands[2] = x9;
      x10 = XEXP (x7, 0);
      operands[0] = x10;
      x11 = XEXP (x7, 1);
      switch (GET_CODE (x11))
        {
        case MINUS:
          switch (pattern495 (x1))
            {
            case 0:
              if (!
#line 6540 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCGOCmode)
   && ix86_binary_operator_ok (MINUS, QImode, operands)))
                return -1;
              return 277; /* *subqi_2 */

            case 1:
              if (!
#line 6540 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCGOCmode)
   && ix86_binary_operator_ok (MINUS, HImode, operands)))
                return -1;
              return 278; /* *subhi_2 */

            case 2:
              if (!
#line 6540 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCGOCmode)
   && ix86_binary_operator_ok (MINUS, SImode, operands)))
                return -1;
              return 279; /* *subsi_2 */

            case 3:
              if (!(
#line 6540 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCGOCmode)
   && ix86_binary_operator_ok (MINUS, DImode, operands)) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              return 280; /* *subdi_2 */

            default:
              return -1;
            }

        case ZERO_EXTEND:
          if (pattern577 (x1, MINUS) != 0)
            return -1;
          x12 = XEXP (x11, 0);
          if (pattern614 (x12) != 0
              || !
#line 6556 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_match_ccmode (insn, CCGOCmode)
   && ix86_binary_operator_ok (MINUS, SImode, operands)))
            return -1;
          return 281; /* *subsi_2_zext */

        default:
          return -1;
        }

    case AND:
      x6 = XEXP (x4, 1);
      if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x8 = XEXP (x5, 0);
      switch (GET_CODE (x8))
        {
        case REG:
        case SUBREG:
        case MEM:
          x7 = XVECEXP (x1, 0, 1);
          if (GET_CODE (x7) != SET)
            return -1;
          x11 = XEXP (x7, 1);
          switch (GET_CODE (x11))
            {
            case AND:
              res = recog_203 (x1, insn, pnum_clobbers);
              if (res >= 0)
                return res;
              break;

            case ZERO_EXTEND:
              if (pattern498 (x1, AND) == 0
                  && 
#line 8404 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_match_ccmode (insn, CCNOmode)
   && ix86_binary_operator_ok (AND, SImode, operands)))
                return 395; /* *andsi_2_zext */
              break;

            default:
              break;
            }
          if (GET_CODE (x8) != SUBREG
              || pattern440 (x8) != 0
              || pattern733 (x1, AND) != 0
              || !
#line 8504 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   /* FIXME: without this LRA can't reload this pattern, see PR82524.  */
   && rtx_equal_p (operands[0], operands[1])))
            return -1;
          return 402; /* *andqi_ext_1_cc */

        case NOT:
          x7 = XVECEXP (x1, 0, 1);
          if (GET_CODE (x7) != CLOBBER)
            return -1;
          x13 = XEXP (x8, 0);
          operands[1] = x13;
          x9 = XEXP (x5, 1);
          operands[2] = x9;
          x10 = XEXP (x7, 0);
          operands[0] = x10;
          switch (GET_MODE (x5))
            {
            case SImode:
              if (pattern675 (x8, SImode) != 0
                  || !
#line 8662 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI && ix86_match_ccmode (insn, CCNOmode)))
                return -1;
              return 409; /* *andn_si_ccno */

            case DImode:
              if (pattern675 (x8, DImode) != 0
                  || !(
#line 8662 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI && ix86_match_ccmode (insn, CCNOmode)) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              return 410; /* *andn_di_ccno */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case IOR:
      x6 = XEXP (x4, 1);
      if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x7 = XVECEXP (x1, 0, 1);
      switch (GET_CODE (x7))
        {
        case SET:
          x11 = XEXP (x7, 1);
          switch (GET_CODE (x11))
            {
            case IOR:
              switch (pattern497 (x1))
                {
                case 0:
                  if (!
#line 8793 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && ix86_binary_operator_ok (IOR, QImode, operands)))
                    return -1;
                  return 427; /* *iorqi_2 */

                case 1:
                  if (!
#line 8793 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && ix86_binary_operator_ok (IOR, HImode, operands)))
                    return -1;
                  return 429; /* *iorhi_2 */

                case 2:
                  if (!
#line 8793 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && ix86_binary_operator_ok (IOR, SImode, operands)))
                    return -1;
                  return 431; /* *iorsi_2 */

                case 3:
                  if (!(
#line 8793 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && ix86_binary_operator_ok (IOR, DImode, operands)) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                    return -1;
                  return 433; /* *iordi_2 */

                case 4:
                  if (!
#line 8835 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
                  return 439; /* *iorqi_2_slp */

                case 5:
                  if (!
#line 8822 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_match_ccmode (insn, CCNOmode)
   && ix86_binary_operator_ok (IOR, SImode, operands)))
                    return -1;
                  return 437; /* *iorsi_2_zext_imm */

                default:
                  return -1;
                }

            case ZERO_EXTEND:
              if (pattern498 (x1, IOR) != 0
                  || !
#line 8808 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_match_ccmode (insn, CCNOmode)
   && ix86_binary_operator_ok (IOR, SImode, operands)))
                return -1;
              return 435; /* *iorsi_2_zext */

            default:
              return -1;
            }

        case CLOBBER:
          switch (pattern439 (x1))
            {
            case 0:
              if (!
#line 8849 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
                return -1;
              return 441; /* *iorqi_3 */

            case 1:
              if (!
#line 8849 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
                return -1;
              return 443; /* *iorhi_3 */

            case 2:
              if (!
#line 8849 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
                return -1;
              return 445; /* *iorsi_3 */

            case 3:
              if (!(
#line 8849 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              return 447; /* *iordi_3 */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case XOR:
      x6 = XEXP (x4, 1);
      if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x7 = XVECEXP (x1, 0, 1);
      switch (GET_CODE (x7))
        {
        case SET:
          x11 = XEXP (x7, 1);
          switch (GET_CODE (x11))
            {
            case XOR:
              switch (pattern497 (x1))
                {
                case 0:
                  if (
#line 8793 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && ix86_binary_operator_ok (XOR, QImode, operands)))
                    return 428; /* *xorqi_2 */
                  break;

                case 1:
                  if (
#line 8793 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && ix86_binary_operator_ok (XOR, HImode, operands)))
                    return 430; /* *xorhi_2 */
                  break;

                case 2:
                  if (
#line 8793 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && ix86_binary_operator_ok (XOR, SImode, operands)))
                    return 432; /* *xorsi_2 */
                  break;

                case 3:
                  if ((
#line 8793 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && ix86_binary_operator_ok (XOR, DImode, operands)) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                    return 434; /* *xordi_2 */
                  break;

                case 4:
                  if (
#line 8835 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 440; /* *xorqi_2_slp */
                  break;

                case 5:
                  if (
#line 8822 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_match_ccmode (insn, CCNOmode)
   && ix86_binary_operator_ok (XOR, SImode, operands)))
                    return 438; /* *xorsi_2_zext_imm */
                  break;

                default:
                  break;
                }
              break;

            case ZERO_EXTEND:
              if (pattern498 (x1, XOR) == 0
                  && 
#line 8808 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_match_ccmode (insn, CCNOmode)
   && ix86_binary_operator_ok (XOR, SImode, operands)))
                return 436; /* *xorsi_2_zext */
              break;

            default:
              break;
            }
          break;

        case CLOBBER:
          switch (pattern439 (x1))
            {
            case 0:
              if (
#line 8849 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
                return 442; /* *xorqi_3 */
              break;

            case 1:
              if (
#line 8849 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
                return 444; /* *xorhi_3 */
              break;

            case 2:
              if (
#line 8849 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
                return 446; /* *xorsi_3 */
              break;

            case 3:
              if ((
#line 8849 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return 448; /* *xordi_3 */
              break;

            default:
              break;
            }
          break;

        default:
          break;
        }
      x8 = XEXP (x5, 0);
      if (GET_CODE (x8) != SUBREG
          || pattern440 (x8) != 0
          || GET_CODE (x7) != SET
          || pattern733 (x1, XOR) != 0
          || !
#line 8992 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   /* FIXME: without this LRA can't reload this pattern, see PR82524.  */
   && rtx_equal_p (operands[0], operands[1])))
        return -1;
      return 453; /* *xorqi_ext_1_cc */

    case LSHIFTRT:
      return recog_208 (x1, insn, pnum_clobbers);

    case NOT:
      x6 = XEXP (x4, 1);
      if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x7 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x7) != SET)
        return -1;
      x8 = XEXP (x5, 0);
      operands[1] = x8;
      x10 = XEXP (x7, 0);
      operands[0] = x10;
      x11 = XEXP (x7, 1);
      switch (GET_CODE (x11))
        {
        case NOT:
          switch (pattern576 (x1))
            {
            case 0:
              if (!
#line 9447 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && ix86_unary_operator_ok (NOT, QImode, operands)))
                return -1;
              return 498; /* *one_cmplqi2_2 */

            case 1:
              if (!
#line 9447 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && ix86_unary_operator_ok (NOT, HImode, operands)))
                return -1;
              return 499; /* *one_cmplhi2_2 */

            case 2:
              if (!
#line 9447 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && ix86_unary_operator_ok (NOT, SImode, operands)))
                return -1;
              return 500; /* *one_cmplsi2_2 */

            case 3:
              if (!(
#line 9447 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && ix86_unary_operator_ok (NOT, DImode, operands)) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              return 501; /* *one_cmpldi2_2 */

            default:
              return -1;
            }

        case ZERO_EXTEND:
          if (pattern577 (x1, NOT) != 0
              || !register_operand (operands[0], DImode))
            return -1;
          x12 = XEXP (x11, 0);
          x14 = XEXP (x12, 0);
          if (!rtx_equal_p (x14, operands[1])
              || !
#line 9474 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_match_ccmode (insn, CCNOmode)
   && ix86_unary_operator_ok (NOT, SImode, operands)))
            return -1;
          return 502; /* *one_cmplsi2_2_zext */

        default:
          return -1;
        }

    case ASHIFT:
      x6 = XEXP (x4, 1);
      if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      switch (pattern391 (x1))
        {
        case 0:
          x7 = XVECEXP (x1, 0, 1);
          x11 = XEXP (x7, 1);
          switch (GET_CODE (x11))
            {
            case ASHIFT:
              switch (pattern617 (x1))
                {
                case 0:
                  if (!
#line 9995 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
                  return 518; /* *ashlqi3_cmp */

                case 1:
                  if (!
#line 9995 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
                  return 519; /* *ashlhi3_cmp */

                case 2:
                  if (!
#line 9995 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
                  return 520; /* *ashlsi3_cmp */

                case 3:
                  if (!(
#line 9995 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                    return -1;
                  return 521; /* *ashldi3_cmp */

                default:
                  return -1;
                }

            case ZERO_EXTEND:
              if (pattern618 (x1, ASHIFT) != 0
                  || !
#line 10043 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
              return 522; /* *ashlsi3_cmp_zext */

            default:
              return -1;
            }

        case 1:
          if (!
#line 10090 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
          return 523; /* *ashlqi3_cconly */

        case 2:
          if (!
#line 10090 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
          return 524; /* *ashlhi3_cconly */

        case 3:
          if (!
#line 10090 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
          return 525; /* *ashlsi3_cconly */

        case 4:
          if (!(
#line 10090 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          return 526; /* *ashldi3_cconly */

        default:
          return -1;
        }

    case ASHIFTRT:
      x6 = XEXP (x4, 1);
      if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      switch (pattern391 (x1))
        {
        case 0:
          x7 = XVECEXP (x1, 0, 1);
          x11 = XEXP (x7, 1);
          switch (GET_CODE (x11))
            {
            case ASHIFTRT:
              switch (pattern617 (x1))
                {
                case 0:
                  if (!
#line 10472 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
                  return 559; /* *ashrqi3_cmp */

                case 1:
                  if (!
#line 10472 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
                  return 561; /* *ashrhi3_cmp */

                case 2:
                  if (!
#line 10472 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
                  return 563; /* *ashrsi3_cmp */

                case 3:
                  if (!(
#line 10472 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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, DImode, operands)) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                    return -1;
                  return 565; /* *ashrdi3_cmp */

                default:
                  return -1;
                }

            case ZERO_EXTEND:
              if (pattern618 (x1, ASHIFTRT) != 0
                  || !
#line 10503 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
              return 567; /* *ashrsi3_cmp_zext */

            default:
              return -1;
            }

        case 1:
          if (!
#line 10535 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
          return 569; /* *ashrqi3_cconly */

        case 2:
          if (!
#line 10535 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
          return 571; /* *ashrhi3_cconly */

        case 3:
          if (!
#line 10535 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
          return 573; /* *ashrsi3_cconly */

        case 4:
          if (!(
#line 10535 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          return 575; /* *ashrdi3_cconly */

        default:
          return -1;
        }

    case UNSPEC:
      if (XVECLEN (x5, 0) != 2
          || XINT (x5, 1) != 87)
        return -1;
      x6 = XEXP (x4, 1);
      if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x7 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x7) != CLOBBER
          || GET_MODE (x3) != CCZmode
          || GET_MODE (x4) != CCZmode)
        return -1;
      x15 = XVECEXP (x5, 0, 0);
      operands[1] = x15;
      x16 = XVECEXP (x5, 0, 1);
      operands[2] = x16;
      x10 = XEXP (x7, 0);
      operands[0] = x10;
      switch (GET_MODE (x5))
        {
        case SImode:
          if (!nonimmediate_operand (operands[1], SImode)
              || !register_operand (operands[2], SImode)
              || !scratch_operand (operands[0], SImode)
              || !
#line 12975 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI))
            return -1;
          return 726; /* *bmi_bextr_si_ccz */

        case DImode:
          if (!nonimmediate_operand (operands[1], DImode)
              || !register_operand (operands[2], DImode)
              || !scratch_operand (operands[0], DImode)
              || !(
#line 12975 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          return 727; /* *bmi_bextr_di_ccz */

        default:
          return -1;
        }

    case ZERO_EXTRACT:
      x9 = XEXP (x5, 1);
      if (GET_CODE (x9) != UMIN)
        return -1;
      x17 = XEXP (x9, 0);
      if (GET_CODE (x17) != ZERO_EXTEND)
        return -1;
      x18 = XEXP (x5, 2);
      if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x6 = XEXP (x4, 1);
      if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x7 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x7) != CLOBBER
          || GET_MODE (x3) != CCZmode
          || GET_MODE (x4) != CCZmode)
        return -1;
      x8 = XEXP (x5, 0);
      operands[1] = x8;
      x19 = XEXP (x17, 0);
      operands[2] = x19;
      if (!register_operand (operands[2], QImode))
        return -1;
      x20 = XEXP (x9, 1);
      operands[3] = x20;
      x10 = XEXP (x7, 0);
      operands[0] = x10;
      switch (GET_MODE (x5))
        {
        case SImode:
          if (pattern823 (x9, SImode) != 0
              || !
#line 13081 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI2 && INTVAL (operands[3]) == 4 * BITS_PER_UNIT))
            return -1;
          return 738; /* *bmi2_bzhi_si3_1_ccz */

        case DImode:
          if (pattern823 (x9, DImode) != 0
              || !(
#line 13081 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI2 && INTVAL (operands[3]) == 8 * BITS_PER_UNIT) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          return 739; /* *bmi2_bzhi_di3_1_ccz */

        default:
          return -1;
        }

    case VEC_SELECT:
      x9 = XEXP (x5, 1);
      if (GET_CODE (x9) != PARALLEL
          || XVECLEN (x9, 0) != 1)
        return -1;
      x21 = XVECEXP (x9, 0, 0);
      if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x6 = XEXP (x4, 1);
      if (GET_CODE (x6) != VEC_SELECT)
        return -1;
      x22 = XEXP (x6, 1);
      if (GET_CODE (x22) != PARALLEL
          || XVECLEN (x22, 0) != 1)
        return -1;
      x23 = XVECEXP (x22, 0, 0);
      if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x7 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x7) != UNSPEC
          || XVECLEN (x7, 0) != 1
          || XINT (x7, 1) != 173)
        return -1;
      x8 = XEXP (x5, 0);
      operands[0] = x8;
      x24 = XEXP (x6, 0);
      operands[1] = x24;
      x25 = XVECEXP (x7, 0, 0);
      operands[2] = x25;
      if (!const48_operand (operands[2], SImode))
        return -1;
      switch (GET_MODE (x3))
        {
        case CCFPmode:
          switch (pattern882 (x4, CCFPmode))
            {
            case 0:
              if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 2692 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(SSE_FLOAT_MODE_P (SFmode))))
                return -1;
              return 1722; /* sse_comi_round */

            case 1:
              if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 2692 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(SSE_FLOAT_MODE_P (DFmode))))
                return -1;
              return 1724; /* sse2_comi_round */

            default:
              return -1;
            }

        case CCFPUmode:
          switch (pattern882 (x4, CCFPUmode))
            {
            case 0:
              if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 2712 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(SSE_FLOAT_MODE_P (SFmode))))
                return -1;
              return 1726; /* sse_ucomi_round */

            case 1:
              if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 2712 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(SSE_FLOAT_MODE_P (DFmode))))
                return -1;
              return 1728; /* sse2_ucomi_round */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case UNSPEC_VOLATILE:
      if (XVECLEN (x5, 0) != 2
          || XINT (x5, 1) != 63)
        return -1;
      x6 = XEXP (x4, 1);
      if (GET_CODE (x6) != CONST_INT)
        return -1;
      operands[2] = x6;
      res = recog_204 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      if (XWINT (x6, 0) != 0LL)
        return -1;
      x7 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x7) != SET)
        return -1;
      x10 = XEXP (x7, 0);
      if (GET_CODE (x10) != ZERO_EXTRACT)
        return -1;
      x26 = XEXP (x10, 1);
      if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
          || GET_MODE (x3) != CCCmode
          || GET_MODE (x4) != CCCmode)
        return -1;
      x15 = XVECEXP (x5, 0, 0);
      operands[0] = x15;
      x16 = XVECEXP (x5, 0, 1);
      operands[2] = x16;
      if (!const_int_operand (operands[2], SImode))
        return -1;
      x27 = XEXP (x10, 2);
      operands[1] = x27;
      x28 = XEXP (x10, 0);
      if (!rtx_equal_p (x28, operands[0]))
        return -1;
      x11 = XEXP (x7, 1);
      switch (GET_CODE (x11))
        {
        case CONST_INT:
          switch (XWINT (x11, 0))
            {
            case 1LL:
              switch (pattern896 (x1))
                {
                case 0:
                  return 5006; /* atomic_bit_test_and_sethi_1 */

                case 1:
                  return 5007; /* atomic_bit_test_and_setsi_1 */

                case 2:
                  if (!
#line 986 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
                    return -1;
                  return 5008; /* atomic_bit_test_and_setdi_1 */

                default:
                  return -1;
                }

            case 0LL:
              switch (pattern896 (x1))
                {
                case 0:
                  return 5012; /* atomic_bit_test_and_resethi_1 */

                case 1:
                  return 5013; /* atomic_bit_test_and_resetsi_1 */

                case 2:
                  if (!
#line 986 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
                    return -1;
                  return 5014; /* atomic_bit_test_and_resetdi_1 */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case NOT:
          x12 = XEXP (x11, 0);
          if (GET_CODE (x12) != ZERO_EXTRACT)
            return -1;
          x29 = XEXP (x12, 1);
          if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
            return -1;
          x14 = XEXP (x12, 0);
          if (!rtx_equal_p (x14, operands[0]))
            return -1;
          x30 = XEXP (x12, 2);
          if (!rtx_equal_p (x30, operands[1]))
            return -1;
          switch (GET_MODE (x5))
            {
            case HImode:
              if (pattern943 (x7, HImode) != 0)
                return -1;
              return 5009; /* atomic_bit_test_and_complementhi_1 */

            case SImode:
              if (pattern943 (x7, SImode) != 0)
                return -1;
              return 5010; /* atomic_bit_test_and_complementsi_1 */

            case DImode:
              if (pattern943 (x7, DImode) != 0
                  || !
#line 986 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
                return -1;
              return 5011; /* atomic_bit_test_and_complementdi_1 */

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_224 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19, x20;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != UNSPEC
      || XVECLEN (x2, 0) != 1
      || XINT (x2, 1) != 173)
    return -1;
  x3 = XVECEXP (x1, 0, 0);
  x4 = XEXP (x3, 0);
  operands[0] = x4;
  x5 = XEXP (x3, 1);
  x6 = XEXP (x5, 0);
  switch (GET_CODE (x6))
    {
    case PLUS:
      switch (pattern452 (x1))
        {
        case 0:
          if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (PLUS, V16SFmode, operands) && (64 == 64 || TARGET_AVX512VL) && (V16SFmode == V16SFmode
							      || V16SFmode == V8DFmode
							      || V16SFmode == V8DImode
							      || V16SFmode == V16SImode)) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))))
            return -1;
          return 1352; /* *addv16sf3_mask_round */

        case 1:
          if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (PLUS, V8SFmode, operands) && (32 == 64 || TARGET_AVX512VL) && (V8SFmode == V16SFmode
							      || V8SFmode == V8DFmode
							      || V8SFmode == V8DImode
							      || V8SFmode == V16SImode)) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))))
            return -1;
          return 1360; /* *addv8sf3_mask_round */

        case 2:
          if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 1561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (PLUS, V4SFmode, operands) && (16 == 64 || TARGET_AVX512VL) && (V4SFmode == V16SFmode
							      || V4SFmode == V8DFmode
							      || V4SFmode == V8DImode
							      || V4SFmode == V16SImode)))))
            return -1;
          return 1368; /* *addv4sf3_mask_round */

        case 3:
          if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (PLUS, V8DFmode, operands) && (64 == 64 || TARGET_AVX512VL) && (V8DFmode == V16SFmode
							      || V8DFmode == V8DFmode
							      || V8DFmode == V8DImode
							      || V8DFmode == V16SImode)) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))))
            return -1;
          return 1376; /* *addv8df3_mask_round */

        case 4:
          if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (PLUS, V4DFmode, operands) && (32 == 64 || TARGET_AVX512VL) && (V4DFmode == V16SFmode
							      || V4DFmode == V8DFmode
							      || V4DFmode == V8DImode
							      || V4DFmode == V16SImode)) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))))
            return -1;
          return 1384; /* *addv4df3_mask_round */

        case 5:
          if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (PLUS, V2DFmode, operands) && (16 == 64 || TARGET_AVX512VL) && (V2DFmode == V16SFmode
							      || V2DFmode == V8DFmode
							      || V2DFmode == V8DImode
							      || V2DFmode == V16SImode)) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))))
            return -1;
          return 1392; /* *addv2df3_mask_round */

        case 6:
          if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 1578 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE)))
            return -1;
          return 1398; /* sse_vmaddv4sf3_round */

        case 7:
          if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1578 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))))
            return -1;
          return 1402; /* sse2_vmaddv2df3_round */

        default:
          return -1;
        }

    case MINUS:
      switch (pattern452 (x1))
        {
        case 0:
          if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MINUS, V16SFmode, operands) && (64 == 64 || TARGET_AVX512VL) && (V16SFmode == V16SFmode
							      || V16SFmode == V8DFmode
							      || V16SFmode == V8DImode
							      || V16SFmode == V16SImode)) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))))
            return -1;
          return 1356; /* *subv16sf3_mask_round */

        case 1:
          if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MINUS, V8SFmode, operands) && (32 == 64 || TARGET_AVX512VL) && (V8SFmode == V16SFmode
							      || V8SFmode == V8DFmode
							      || V8SFmode == V8DImode
							      || V8SFmode == V16SImode)) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))))
            return -1;
          return 1364; /* *subv8sf3_mask_round */

        case 2:
          if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 1561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MINUS, V4SFmode, operands) && (16 == 64 || TARGET_AVX512VL) && (V4SFmode == V16SFmode
							      || V4SFmode == V8DFmode
							      || V4SFmode == V8DImode
							      || V4SFmode == V16SImode)))))
            return -1;
          return 1372; /* *subv4sf3_mask_round */

        case 3:
          if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MINUS, V8DFmode, operands) && (64 == 64 || TARGET_AVX512VL) && (V8DFmode == V16SFmode
							      || V8DFmode == V8DFmode
							      || V8DFmode == V8DImode
							      || V8DFmode == V16SImode)) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))))
            return -1;
          return 1380; /* *subv8df3_mask_round */

        case 4:
          if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MINUS, V4DFmode, operands) && (32 == 64 || TARGET_AVX512VL) && (V4DFmode == V16SFmode
							      || V4DFmode == V8DFmode
							      || V4DFmode == V8DImode
							      || V4DFmode == V16SImode)) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))))
            return -1;
          return 1388; /* *subv4df3_mask_round */

        case 5:
          if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MINUS, V2DFmode, operands) && (16 == 64 || TARGET_AVX512VL) && (V2DFmode == V16SFmode
							      || V2DFmode == V8DFmode
							      || V2DFmode == V8DImode
							      || V2DFmode == V16SImode)) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))))
            return -1;
          return 1396; /* *subv2df3_mask_round */

        case 6:
          if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 1578 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE)))
            return -1;
          return 1400; /* sse_vmsubv4sf3_round */

        case 7:
          if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1578 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))))
            return -1;
          return 1404; /* sse2_vmsubv2df3_round */

        default:
          return -1;
        }

    case MULT:
      switch (pattern452 (x1))
        {
        case 0:
          if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1600 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MULT, V16SFmode, operands) && (64 == 64 || TARGET_AVX512VL) && (V16SFmode == V16SFmode
							      || V16SFmode == V8DFmode
							      || V16SFmode == V8DImode
							      || V16SFmode == V16SImode)) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))))
            return -1;
          return 1408; /* *mulv16sf3_mask_round */

        case 1:
          if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1600 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MULT, V8SFmode, operands) && (32 == 64 || TARGET_AVX512VL) && (V8SFmode == V16SFmode
							      || V8SFmode == V8DFmode
							      || V8SFmode == V8DImode
							      || V8SFmode == V16SImode)) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))))
            return -1;
          return 1412; /* *mulv8sf3_mask_round */

        case 2:
          if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 1600 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MULT, V4SFmode, operands) && (16 == 64 || TARGET_AVX512VL) && (V4SFmode == V16SFmode
							      || V4SFmode == V8DFmode
							      || V4SFmode == V8DImode
							      || V4SFmode == V16SImode)))))
            return -1;
          return 1416; /* *mulv4sf3_mask_round */

        case 3:
          if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1600 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MULT, V8DFmode, operands) && (64 == 64 || TARGET_AVX512VL) && (V8DFmode == V16SFmode
							      || V8DFmode == V8DFmode
							      || V8DFmode == V8DImode
							      || V8DFmode == V16SImode)) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))))
            return -1;
          return 1420; /* *mulv8df3_mask_round */

        case 4:
          if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1600 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MULT, V4DFmode, operands) && (32 == 64 || TARGET_AVX512VL) && (V4DFmode == V16SFmode
							      || V4DFmode == V8DFmode
							      || V4DFmode == V8DImode
							      || V4DFmode == V16SImode)) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))))
            return -1;
          return 1424; /* *mulv4df3_mask_round */

        case 5:
          if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1600 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MULT, V2DFmode, operands) && (16 == 64 || TARGET_AVX512VL) && (V2DFmode == V16SFmode
							      || V2DFmode == V8DFmode
							      || V2DFmode == V8DImode
							      || V2DFmode == V16SImode)) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))))
            return -1;
          return 1428; /* *mulv2df3_mask_round */

        case 6:
          if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 1618 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE)))
            return -1;
          return 1430; /* sse_vmmulv4sf3_round */

        case 7:
          if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1618 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))))
            return -1;
          return 1434; /* sse2_vmmulv2df3_round */

        default:
          return -1;
        }

    case DIV:
      x7 = XEXP (x6, 0);
      operands[1] = x7;
      x8 = XEXP (x6, 1);
      operands[2] = x8;
      x9 = XVECEXP (x2, 0, 0);
      if (!const_4_or_8_to_11_operand (x9, SImode))
        return -1;
      x10 = XEXP (x5, 2);
      switch (GET_CODE (x10))
        {
        case CONST_INT:
          switch (pattern450 (x1))
            {
            case 0:
              if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 1618 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE)))
                return -1;
              return 1432; /* sse_vmdivv4sf3_round */

            case 1:
              if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1618 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))))
                return -1;
              return 1436; /* sse2_vmdivv2df3_round */

            default:
              return -1;
            }

        case REG:
        case SUBREG:
          operands[4] = x10;
          x11 = XEXP (x5, 1);
          operands[3] = x11;
          operands[5] = x9;
          switch (GET_MODE (operands[0]))
            {
            case V16SFmode:
              if (pattern448 (x5, V16SFmode, HImode) != 0
                  || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1659 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && (64 == 64 || TARGET_AVX512VL) && (V16SFmode == V16SFmode
							      || V16SFmode == V8DFmode
							      || V16SFmode == V8DImode
							      || V16SFmode == V16SImode)) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))))
                return -1;
              return 1440; /* avx512f_divv16sf3_mask_round */

            case V8DFmode:
              if (pattern448 (x5, V8DFmode, QImode) != 0
                  || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1659 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && (64 == 64 || TARGET_AVX512VL) && (V8DFmode == V16SFmode
							      || V8DFmode == V8DFmode
							      || V8DFmode == V8DImode
							      || V8DFmode == V16SImode)) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))))
                return -1;
              return 1448; /* avx512f_divv8df3_mask_round */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case SQRT:
      x7 = XEXP (x6, 0);
      operands[1] = x7;
      x11 = XEXP (x5, 1);
      operands[2] = x11;
      x9 = XVECEXP (x2, 0, 0);
      if (!const_4_or_8_to_11_operand (x9, SImode))
        return -1;
      x10 = XEXP (x5, 2);
      switch (GET_CODE (x10))
        {
        case REG:
        case SUBREG:
          operands[3] = x10;
          operands[4] = x9;
          switch (GET_MODE (operands[0]))
            {
            case V16SFmode:
              if (pattern737 (x5, HImode, V16SFmode) != 0
                  || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1747 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && (64 == 64 || TARGET_AVX512VL) && (V16SFmode == V16SFmode
							      || V16SFmode == V8DFmode
							      || V16SFmode == V8DImode
							      || V16SFmode == V16SImode)) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))))
                return -1;
              return 1473; /* avx512f_sqrtv16sf2_mask_round */

            case V8DFmode:
              if (pattern737 (x5, QImode, V8DFmode) != 0
                  || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1747 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && (64 == 64 || TARGET_AVX512VL) && (V8DFmode == V16SFmode
							      || V8DFmode == V8DFmode
							      || V8DFmode == V8DImode
							      || V8DFmode == V16SImode)) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))))
                return -1;
              return 1481; /* avx512f_sqrtv8df2_mask_round */

            default:
              return -1;
            }

        case CONST_INT:
          if (XWINT (x10, 0) != 1LL)
            return -1;
          operands[3] = x9;
          switch (GET_MODE (operands[0]))
            {
            case V4SFmode:
              if (pattern738 (x5, V4SFmode) != 0
                  || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 1765 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE)))
                return -1;
              return 1487; /* sse_vmsqrtv4sf2_round */

            case V2DFmode:
              if (pattern738 (x5, V2DFmode) != 0
                  || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1765 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))))
                return -1;
              return 1489; /* sse2_vmsqrtv2df2_round */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case SMAX:
      switch (pattern453 (x1))
        {
        case 0:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (SMAX, V16SFmode, operands)
   && (64 == 64 || TARGET_AVX512VL) && (V16SFmode == V16SFmode
									      || V16SFmode == V8DFmode
									      || V16SFmode == V8DImode
									      || V16SFmode == V16SImode)) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))))
            return -1;
          return 1510; /* *smaxv16sf3_mask_round */

        case 1:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (SMAX, V8SFmode, operands)
   && (32 == 64 || TARGET_AVX512VL) && (V8SFmode == V16SFmode
									      || V8SFmode == V8DFmode
									      || V8SFmode == V8DImode
									      || V8SFmode == V16SImode)) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))))
            return -1;
          return 1518; /* *smaxv8sf3_mask_round */

        case 2:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 1878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (SMAX, V4SFmode, operands)
   && (16 == 64 || TARGET_AVX512VL) && (V4SFmode == V16SFmode
									      || V4SFmode == V8DFmode
									      || V4SFmode == V8DImode
									      || V4SFmode == V16SImode)))))
            return -1;
          return 1526; /* *smaxv4sf3_mask_round */

        case 3:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (SMAX, V8DFmode, operands)
   && (64 == 64 || TARGET_AVX512VL) && (V8DFmode == V16SFmode
									      || V8DFmode == V8DFmode
									      || V8DFmode == V8DImode
									      || V8DFmode == V16SImode)) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))))
            return -1;
          return 1534; /* *smaxv8df3_mask_round */

        case 4:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (SMAX, V4DFmode, operands)
   && (32 == 64 || TARGET_AVX512VL) && (V4DFmode == V16SFmode
									      || V4DFmode == V8DFmode
									      || V4DFmode == V8DImode
									      || V4DFmode == V16SImode)) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))))
            return -1;
          return 1542; /* *smaxv4df3_mask_round */

        case 5:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (SMAX, V2DFmode, operands)
   && (16 == 64 || TARGET_AVX512VL) && (V2DFmode == V16SFmode
									      || V2DFmode == V8DFmode
									      || V2DFmode == V8DImode
									      || V2DFmode == V16SImode)) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))))
            return -1;
          return 1550; /* *smaxv2df3_mask_round */

        case 6:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 1920 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE)))
            return -1;
          return 1588; /* sse_vmsmaxv4sf3_round */

        case 7:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1920 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))))
            return -1;
          return 1592; /* sse2_vmsmaxv2df3_round */

        default:
          return -1;
        }

    case SMIN:
      switch (pattern453 (x1))
        {
        case 0:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (SMIN, V16SFmode, operands)
   && (64 == 64 || TARGET_AVX512VL) && (V16SFmode == V16SFmode
									      || V16SFmode == V8DFmode
									      || V16SFmode == V8DImode
									      || V16SFmode == V16SImode)) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))))
            return -1;
          return 1514; /* *sminv16sf3_mask_round */

        case 1:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (SMIN, V8SFmode, operands)
   && (32 == 64 || TARGET_AVX512VL) && (V8SFmode == V16SFmode
									      || V8SFmode == V8DFmode
									      || V8SFmode == V8DImode
									      || V8SFmode == V16SImode)) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))))
            return -1;
          return 1522; /* *sminv8sf3_mask_round */

        case 2:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 1878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (SMIN, V4SFmode, operands)
   && (16 == 64 || TARGET_AVX512VL) && (V4SFmode == V16SFmode
									      || V4SFmode == V8DFmode
									      || V4SFmode == V8DImode
									      || V4SFmode == V16SImode)))))
            return -1;
          return 1530; /* *sminv4sf3_mask_round */

        case 3:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (SMIN, V8DFmode, operands)
   && (64 == 64 || TARGET_AVX512VL) && (V8DFmode == V16SFmode
									      || V8DFmode == V8DFmode
									      || V8DFmode == V8DImode
									      || V8DFmode == V16SImode)) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))))
            return -1;
          return 1538; /* *sminv8df3_mask_round */

        case 4:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (SMIN, V4DFmode, operands)
   && (32 == 64 || TARGET_AVX512VL) && (V4DFmode == V16SFmode
									      || V4DFmode == V8DFmode
									      || V4DFmode == V8DImode
									      || V4DFmode == V16SImode)) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))))
            return -1;
          return 1546; /* *sminv4df3_mask_round */

        case 5:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (SMIN, V2DFmode, operands)
   && (16 == 64 || TARGET_AVX512VL) && (V2DFmode == V16SFmode
									      || V2DFmode == V8DFmode
									      || V2DFmode == V8DImode
									      || V2DFmode == V16SImode)) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))))
            return -1;
          return 1554; /* *sminv2df3_mask_round */

        case 6:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 1920 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE)))
            return -1;
          return 1590; /* sse_vmsminv4sf3_round */

        case 7:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1920 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))))
            return -1;
          return 1594; /* sse2_vmsminv2df3_round */

        default:
          return -1;
        }

    case UNSPEC:
      return recog_221 (x1, insn, pnum_clobbers);

    case FMA:
      return recog_222 (x1, insn, pnum_clobbers);

    case VEC_DUPLICATE:
      x10 = XEXP (x5, 2);
      if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
        return -1;
      x11 = XEXP (x5, 1);
      operands[1] = x11;
      x9 = XVECEXP (x2, 0, 0);
      operands[3] = x9;
      if (!const_4_or_8_to_11_operand (operands[3], SImode))
        return -1;
      x7 = XEXP (x6, 0);
      switch (GET_CODE (x7))
        {
        case FLOAT:
          switch (pattern686 (x5))
            {
            case 0:
              if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 4248 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE)))
                return -1;
              return 2095; /* sse_cvtsi2ss_round */

            case 1:
              if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 4270 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && TARGET_64BIT)))
                return -1;
              return 2097; /* sse_cvtsi2ssq_round */

            case 2:
              if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 4666 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && TARGET_64BIT)))
                return -1;
              return 2188; /* sse2_cvtsi2sdq_round */

            default:
              return -1;
            }

        case UNSIGNED_FLOAT:
          switch (pattern686 (x5))
            {
            case 0:
              if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 4386 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (V4SFmode == V4SFmode))))
                return -1;
              return 2109; /* cvtusi2ss32_round */

            case 1:
              if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 4400 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && TARGET_64BIT)))
                return -1;
              return 2112; /* cvtusi2ss64_round */

            case 2:
              if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 4400 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && TARGET_64BIT) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))))
                return -1;
              return 2114; /* cvtusi2sd64_round */

            default:
              return -1;
            }

        case FLOAT_TRUNCATE:
          if (GET_MODE (x7) != V2SFmode
              || !register_operand (operands[0], V4SFmode)
              || GET_MODE (x5) != V4SFmode
              || GET_MODE (x6) != V4SFmode)
            return -1;
          x12 = XEXP (x7, 0);
          operands[2] = x12;
          if (!nonimmediate_operand (operands[2], V2DFmode)
              || !register_operand (operands[1], V4SFmode)
              || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 5259 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
            return -1;
          return 2359; /* sse2_cvtsd2ss_round */

        default:
          return -1;
        }

    case FLOAT:
      x7 = XEXP (x6, 0);
      operands[1] = x7;
      x11 = XEXP (x5, 1);
      operands[2] = x11;
      x10 = XEXP (x5, 2);
      operands[3] = x10;
      x9 = XVECEXP (x2, 0, 0);
      operands[4] = x9;
      if (!const_4_or_8_to_11_operand (operands[4], SImode))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case V16SFmode:
          if (pattern454 (x5, HImode, V16SFmode, V16SImode) != 0
              || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 4410 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && (64 == 64 || TARGET_AVX512VL) && (V16SFmode == V16SFmode
							      || V16SFmode == V8DFmode
							      || V16SFmode == V8DImode
							      || V16SFmode == V16SImode)) && 
#line 235 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))))
            return -1;
          return 2118; /* floatv16siv16sf2_mask_round */

        case V8DFmode:
          if (pattern711 (x5, V8DFmode, V8DImode, QImode) != 0
              || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 4894 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ))))
            return -1;
          return 2222; /* floatv8div8df2_mask_round */

        case V4DFmode:
          if (pattern711 (x5, V4DFmode, V4DImode, QImode) != 0
              || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 4894 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 279 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))))
            return -1;
          return 2230; /* floatv4div4df2_mask_round */

        case V2DFmode:
          if (pattern711 (x5, V2DFmode, V2DImode, QImode) != 0
              || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 4894 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 279 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))))
            return -1;
          return 2238; /* floatv2div2df2_mask_round */

        case V8SFmode:
          if (pattern711 (x5, V8SFmode, V8DImode, QImode) != 0
              || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 4918 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && (V8SFmode == V8SFmode)))))
            return -1;
          return 2246; /* floatv8div8sf2_mask_round */

        default:
          return -1;
        }

    case UNSIGNED_FLOAT:
      x7 = XEXP (x6, 0);
      operands[1] = x7;
      x11 = XEXP (x5, 1);
      operands[2] = x11;
      x10 = XEXP (x5, 2);
      operands[3] = x10;
      x9 = XVECEXP (x2, 0, 0);
      operands[4] = x9;
      if (!const_4_or_8_to_11_operand (operands[4], SImode))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case V16SFmode:
          if (pattern711 (x5, V16SFmode, V16SImode, HImode) != 0
              || !
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
            return -1;
          return 2126; /* ufloatv16siv16sf2_mask_round */

        case V8SFmode:
          if (pattern712 (x5, V8SFmode) != 0)
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case V8SImode:
              if (!nonimmediate_operand (operands[1], V8SImode)
                  || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 4423 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 282 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))))
                return -1;
              return 2130; /* ufloatv8siv8sf2_mask_round */

            case V8DImode:
              if (!nonimmediate_operand (operands[1], V8DImode)
                  || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 4918 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && (V8SFmode == V8SFmode)))))
                return -1;
              return 2250; /* ufloatv8div8sf2_mask_round */

            default:
              return -1;
            }

        case V4SFmode:
          if (pattern711 (x5, V4SFmode, V4SImode, QImode) != 0
              || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 4423 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 282 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))))
            return -1;
          return 2134; /* ufloatv4siv4sf2_mask_round */

        case V8DFmode:
          if (pattern711 (x5, V8DFmode, V8DImode, QImode) != 0
              || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 4894 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ))))
            return -1;
          return 2226; /* ufloatv8div8df2_mask_round */

        case V4DFmode:
          if (pattern711 (x5, V4DFmode, V4DImode, QImode) != 0
              || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 4894 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 279 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))))
            return -1;
          return 2234; /* ufloatv4div4df2_mask_round */

        case V2DFmode:
          if (pattern711 (x5, V2DFmode, V2DImode, QImode) != 0
              || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 4894 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 279 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL)))))
            return -1;
          return 2242; /* ufloatv2div2df2_mask_round */

        default:
          return -1;
        }

    case FIX:
      switch (pattern455 (x1))
        {
        case 0:
          if (!
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
            return -1;
          return 2174; /* fix_truncv16sfv16si2_mask_round */

        case 1:
          if (!
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
            return -1;
          return 2293; /* fix_truncv8dfv8si2_mask_round */

        case 2:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 5164 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && (V8DFmode == V16SFmode
									      || V8DFmode == V8DFmode
									      || V8DFmode == V8DImode
									      || V8DFmode == V16SImode)))))
            return -1;
          return 2307; /* fix_truncv8dfv8di2_mask_round */

        case 3:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 5196 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && (V8SFmode == V8SFmode)))))
            return -1;
          return 2339; /* fix_truncv8sfv8di2_mask_round */

        default:
          return -1;
        }

    case UNSIGNED_FIX:
      switch (pattern455 (x1))
        {
        case 0:
          if (!
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
            return -1;
          return 2178; /* ufix_truncv16sfv16si2_mask_round */

        case 1:
          if (!
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
            return -1;
          return 2297; /* ufix_truncv8dfv8si2_mask_round */

        case 2:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 5164 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && (V8DFmode == V16SFmode
									      || V8DFmode == V8DFmode
									      || V8DFmode == V8DImode
									      || V8DFmode == V16SImode)))))
            return -1;
          return 2311; /* ufix_truncv8dfv8di2_mask_round */

        case 3:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 5196 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && (V8SFmode == V8SFmode)))))
            return -1;
          return 2343; /* ufix_truncv8sfv8di2_mask_round */

        default:
          return -1;
        }

    case FLOAT_EXTEND:
      x9 = XVECEXP (x2, 0, 0);
      if (!const48_operand (x9, SImode))
        return -1;
      x7 = XEXP (x6, 0);
      switch (GET_CODE (x7))
        {
        case VEC_SELECT:
          if (GET_MODE (x7) != V2SFmode)
            return -1;
          x13 = XEXP (x7, 1);
          if (GET_CODE (x13) != PARALLEL
              || XVECLEN (x13, 0) != 2)
            return -1;
          x14 = XVECEXP (x13, 0, 0);
          if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x15 = XVECEXP (x13, 0, 1);
          if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
            return -1;
          x10 = XEXP (x5, 2);
          if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
              || !register_operand (operands[0], V2DFmode)
              || GET_MODE (x5) != V2DFmode
              || GET_MODE (x6) != V2DFmode)
            return -1;
          x12 = XEXP (x7, 0);
          operands[2] = x12;
          if (!register_operand (operands[2], V4SFmode))
            return -1;
          x11 = XEXP (x5, 1);
          operands[1] = x11;
          if (!register_operand (operands[1], V2DFmode))
            return -1;
          operands[3] = x9;
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 5303 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
            return -1;
          return 2362; /* sse2_cvtss2sd_round */

        case REG:
        case SUBREG:
          operands[1] = x7;
          if (!register_operand (operands[1], V8SFmode)
              || !register_operand (operands[0], V8DFmode)
              || GET_MODE (x5) != V8DFmode
              || GET_MODE (x6) != V8DFmode)
            return -1;
          x11 = XEXP (x5, 1);
          operands[2] = x11;
          if (!vector_move_operand (operands[2], V8DFmode))
            return -1;
          x10 = XEXP (x5, 2);
          operands[3] = x10;
          if (!register_operand (operands[3], QImode))
            return -1;
          operands[4] = x9;
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 72 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 5409 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && (64 == 64 || TARGET_AVX512VL) && (V8DFmode == V16SFmode
									      || V8DFmode == V8DFmode
									      || V8DFmode == V8DImode
									      || V8DFmode == V16SImode)) && 
#line 253 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))))
            return -1;
          return 2375; /* avx512f_cvtps2pd512_mask_round */

        default:
          return -1;
        }

    case FLOAT_TRUNCATE:
      if (GET_MODE (x6) != V8SFmode
          || !register_operand (operands[0], V8SFmode)
          || GET_MODE (x5) != V8SFmode)
        return -1;
      x7 = XEXP (x6, 0);
      operands[1] = x7;
      if (!register_operand (operands[1], V8DFmode))
        return -1;
      x11 = XEXP (x5, 1);
      operands[2] = x11;
      if (!vector_move_operand (operands[2], V8SFmode))
        return -1;
      x10 = XEXP (x5, 2);
      operands[3] = x10;
      if (!register_operand (operands[3], QImode))
        return -1;
      x9 = XVECEXP (x2, 0, 0);
      operands[4] = x9;
      if (!const_4_or_8_to_11_operand (operands[4], SImode)
          || !
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
        return -1;
      return 2367; /* avx512f_cvtpd2ps512_mask_round */

    case VEC_MERGE:
      x7 = XEXP (x6, 0);
      if (GET_CODE (x7) != UNSPEC
          || XVECLEN (x7, 0) != 4
          || XINT (x7, 1) != 158)
        return -1;
      x16 = XEXP (x6, 2);
      if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
        return -1;
      x17 = XVECEXP (x7, 0, 0);
      operands[1] = x17;
      x18 = XVECEXP (x7, 0, 1);
      operands[2] = x18;
      x19 = XVECEXP (x7, 0, 2);
      operands[3] = x19;
      x20 = XVECEXP (x7, 0, 3);
      operands[4] = x20;
      if (!const_0_to_255_operand (operands[4], SImode))
        return -1;
      x10 = XEXP (x5, 2);
      if (!register_operand (x10, QImode))
        return -1;
      x9 = XVECEXP (x2, 0, 0);
      if (!const48_operand (x9, SImode))
        return -1;
      x8 = XEXP (x6, 1);
      if (!rtx_equal_p (x8, operands[1]))
        return -1;
      x11 = XEXP (x5, 1);
      switch (GET_CODE (x11))
        {
        case CONST_INT:
        case CONST_DOUBLE:
        case CONST_VECTOR:
          operands[5] = x11;
          operands[6] = x10;
          operands[7] = x9;
          switch (GET_MODE (operands[0]))
            {
            case V4SFmode:
              if (pattern936 (x5, V4SFmode, V4SImode) != 0
                  || !
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                return -1;
              return 2656; /* avx512f_sfixupimmv4sf_maskz_1_round */

            case V2DFmode:
              if (pattern936 (x5, V2DFmode, V2DImode) != 0
                  || !(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8391 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))))
                return -1;
              return 2660; /* avx512f_sfixupimmv2df_maskz_1_round */

            default:
              return -1;
            }

        case REG:
        case SUBREG:
          if (!rtx_equal_p (x11, operands[1]))
            return -1;
          operands[5] = x10;
          operands[6] = x9;
          switch (GET_MODE (operands[0]))
            {
            case V4SFmode:
              if (pattern937 (x5, V4SImode, V4SFmode) != 0
                  || !
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                return -1;
              return 2662; /* avx512f_sfixupimmv4sf_mask_round */

            case V2DFmode:
              if (pattern937 (x5, V2DImode, V2DFmode) != 0
                  || !(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 8410 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))))
                return -1;
              return 2664; /* avx512f_sfixupimmv2df_mask_round */

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_225 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
    case MEM:
      x5 = XEXP (x2, 0);
      switch (GET_CODE (x5))
        {
        case REG:
        case SUBREG:
        case MEM:
          operands[0] = x5;
          operands[1] = x4;
          x6 = XEXP (x3, 1);
          operands[2] = x6;
          x7 = XVECEXP (x1, 0, 1);
          switch (GET_CODE (x7))
            {
            case CLOBBER:
              x8 = XEXP (x7, 0);
              if (GET_CODE (x8) != REG
                  || REGNO (x8) != 17
                  || GET_MODE (x8) != CCmode)
                return -1;
              switch (GET_MODE (operands[0]))
                {
                case DImode:
                  if (pattern676 (x3) != 0)
                    return -1;
                  if (
#line 8155 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_STV && TARGET_SSE2
   && ix86_binary_operator_ok (AND, DImode, operands)))
                    return 387; /* *anddi3_doubleword */
                  if (!
#line 8187 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (AND, DImode, operands)))
                    return -1;
                  return 388; /* *anddi_1 */

                case HImode:
                  if (pattern174 (x3, HImode) != 0
                      || !
#line 8233 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (AND, HImode, operands)))
                    return -1;
                  return 390; /* *andhi_1 */

                case SImode:
                  if (pattern175 (x3) != 0
                      || !
#line 8233 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (AND, SImode, operands)))
                    return -1;
                  return 391; /* *andsi_1 */

                case QImode:
                  if (pattern174 (x3, QImode) != 0
                      || !
#line 8254 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (AND, QImode, operands)))
                    return -1;
                  return 392; /* *andqi_1 */

                default:
                  return -1;
                }

            case UNSPEC:
              switch (pattern177 (x1))
                {
                case 0:
                  if (!
#line 1327 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                    return -1;
                  return 1296; /* kandqi */

                case 1:
                  if (!
#line 1327 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                    return -1;
                  return 1299; /* kandhi */

                case 2:
                  if (!(
#line 1327 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1308 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
                    return -1;
                  return 1302; /* kandsi */

                case 3:
                  if (!(
#line 1327 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1308 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
                    return -1;
                  return 1305; /* kanddi */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case STRICT_LOW_PART:
          if (pattern178 (x1) != 0
              || !
#line 8272 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
            return -1;
          return 393; /* *andqi_1_slp */

        default:
          return -1;
        }

    case NOT:
      x5 = XEXP (x2, 0);
      operands[0] = x5;
      x9 = XEXP (x4, 0);
      operands[1] = x9;
      switch (pattern323 (x1))
        {
        case 0:
          switch (GET_MODE (operands[0]))
            {
            case DImode:
              if (pattern624 (x3, DImode) != 0)
                return -1;
              if (
#line 8592 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_STV && TARGET_SSE2))
                return 404; /* *andndi3_doubleword */
              if (!(
#line 8636 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              return 406; /* *andndi_1 */

            case SImode:
              if (pattern624 (x3, SImode) != 0
                  || !
#line 8636 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI))
                return -1;
              return 405; /* *andnsi_1 */

            case QImode:
              if (pattern625 (x3, QImode) != 0
                  || !
#line 8648 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI))
                return -1;
              return 407; /* *andnqi_1 */

            case HImode:
              if (pattern625 (x3, HImode) != 0
                  || !
#line 8648 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI))
                return -1;
              return 408; /* *andnhi_1 */

            default:
              return -1;
            }

        case 1:
          switch (GET_MODE (operands[0]))
            {
            case QImode:
              if (pattern625 (x3, QImode) != 0
                  || !
#line 1350 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return -1;
              return 1308; /* kandnqi */

            case HImode:
              if (pattern625 (x3, HImode) != 0
                  || !
#line 1350 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
                return -1;
              return 1309; /* kandnhi */

            case SImode:
              if (pattern625 (x3, SImode) != 0
                  || !(
#line 1350 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1308 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
                return -1;
              return 1310; /* kandnsi */

            case DImode:
              if (pattern625 (x3, DImode) != 0
                  || !(
#line 1350 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1308 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
                return -1;
              return 1311; /* kandndi */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case NEG:
      if (pattern182 (x1) != 0)
        return -1;
      x6 = XEXP (x3, 1);
      if (!rtx_equal_p (x6, operands[1]))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case SImode:
          if (pattern621 (x3, SImode) != 0
              || !
#line 12988 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI))
            return -1;
          return 728; /* *bmi_blsi_si */

        case DImode:
          if (pattern621 (x3, DImode) != 0
              || !(
#line 12988 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          return 729; /* *bmi_blsi_di */

        default:
          return -1;
        }

    case PLUS:
      x10 = XEXP (x4, 1);
      if (GET_CODE (x10) != CONST_INT
          || pattern182 (x1) != 0)
        return -1;
      switch (XWINT (x10, 0))
        {
        case -1LL:
          switch (pattern623 (x3))
            {
            case 0:
              if (!
#line 13016 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI))
                return -1;
              return 732; /* *bmi_blsr_si */

            case 1:
              if (!(
#line 13016 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              return 733; /* *bmi_blsr_di */

            case 2:
              if (!
#line 13242 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_TBM))
                return -1;
              return 762; /* *tbm_tzmsk_si */

            case 3:
              if (!(
#line 13242 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_TBM) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              return 763; /* *tbm_tzmsk_di */

            default:
              return -1;
            }

        case 1LL:
          switch (pattern623 (x3))
            {
            case 0:
              if (!
#line 13133 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_TBM))
                return -1;
              return 746; /* *tbm_blcfill_si */

            case 1:
              if (!(
#line 13133 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_TBM) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              return 747; /* *tbm_blcfill_di */

            case 2:
              if (!
#line 13161 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_TBM))
                return -1;
              return 750; /* *tbm_blcic_si */

            case 3:
              if (!(
#line 13161 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_TBM) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              return 751; /* *tbm_blcic_di */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case UNSPEC:
      if (XVECLEN (x4, 0) != 3
          || XINT (x4, 1) != 136)
        return -1;
      x7 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x7) != UNSPEC
          || XVECLEN (x7, 0) != 1
          || XINT (x7, 1) != 173)
        return -1;
      x5 = XEXP (x2, 0);
      operands[0] = x5;
      x11 = XVECEXP (x4, 0, 0);
      operands[1] = x11;
      x12 = XVECEXP (x4, 0, 1);
      operands[2] = x12;
      x13 = XVECEXP (x4, 0, 2);
      operands[3] = x13;
      x14 = XVECEXP (x7, 0, 0);
      if (!const48_operand (x14, SImode))
        return -1;
      x6 = XEXP (x3, 1);
      switch (GET_CODE (x6))
        {
        case REG:
        case SUBREG:
          operands[4] = x6;
          operands[5] = x14;
          switch (GET_MODE (operands[0]))
            {
            case HImode:
              if (pattern815 (x3, HImode) != 0)
                return -1;
              switch (GET_MODE (operands[1]))
                {
                case V16SImode:
                  if (!register_operand (operands[1], V16SImode)
                      || !nonimmediate_operand (operands[2], V16SImode)
                      || !const_0_to_7_operand (operands[3], SImode)
                      || !(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 2588 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (V16SImode == V16SFmode
									      || V16SImode == V8DFmode
									      || V16SImode == V8DImode
									      || V16SImode == V16SImode)))))
                    return -1;
                  return 1642; /* avx512f_cmpv16si3_mask_round */

                case V16SFmode:
                  if (!register_operand (operands[1], V16SFmode)
                      || !nonimmediate_operand (operands[2], V16SFmode)
                      || !const_0_to_31_operand (operands[3], SImode)
                      || !(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 2588 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (V16SFmode == V16SFmode
									      || V16SFmode == V8DFmode
									      || V16SFmode == V8DImode
									      || V16SFmode == V16SImode)))))
                    return -1;
                  return 1658; /* avx512f_cmpv16sf3_mask_round */

                default:
                  return -1;
                }

            case QImode:
              if (pattern815 (x3, QImode) != 0)
                return -1;
              switch (GET_MODE (operands[1]))
                {
                case V8DImode:
                  if (!register_operand (operands[1], V8DImode)
                      || !nonimmediate_operand (operands[2], V8DImode)
                      || !const_0_to_7_operand (operands[3], SImode)
                      || !(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 2588 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (V8DImode == V16SFmode
									      || V8DImode == V8DFmode
									      || V8DImode == V8DImode
									      || V8DImode == V16SImode)))))
                    return -1;
                  return 1650; /* avx512f_cmpv8di3_mask_round */

                case V8DFmode:
                  if (!register_operand (operands[1], V8DFmode)
                      || !nonimmediate_operand (operands[2], V8DFmode)
                      || !const_0_to_31_operand (operands[3], SImode)
                      || !(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 86 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 2588 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (V8DFmode == V16SFmode
									      || V8DFmode == V8DFmode
									      || V8DFmode == V8DImode
									      || V8DFmode == V16SImode)))))
                    return -1;
                  return 1666; /* avx512f_cmpv8df3_mask_round */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case CONST_INT:
          if (XWINT (x6, 0) != 1LL
              || pattern767 (x3) != 0)
            return -1;
          operands[4] = x14;
          switch (pattern885 ())
            {
            case 0:
              if (!
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                return -1;
              return 1708; /* avx512f_vmcmpv4sf3_round */

            case 1:
              if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 2646 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))))
                return -1;
              return 1710; /* avx512f_vmcmpv2df3_round */

            default:
              return -1;
            }

        case AND:
          if (GET_MODE (x6) != QImode)
            return -1;
          x15 = XEXP (x6, 1);
          if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
              || pattern767 (x3) != 0)
            return -1;
          x16 = XEXP (x6, 0);
          operands[4] = x16;
          if (!register_operand (operands[4], QImode))
            return -1;
          operands[5] = x14;
          switch (pattern885 ())
            {
            case 0:
              if (!
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                return -1;
              return 1712; /* avx512f_vmcmpv4sf3_mask_round */

            case 1:
              if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 2664 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))))
                return -1;
              return 1714; /* avx512f_vmcmpv2df3_mask_round */

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_226 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  switch (XVECLEN (x3, 0))
    {
    case 4:
      return recog_217 (x1, insn, pnum_clobbers);

    case 1:
      return recog_215 (x1, insn, pnum_clobbers);

    case 2:
      return recog_216 (x1, insn, pnum_clobbers);

    case 3:
      x4 = XEXP (x2, 0);
      operands[0] = x4;
      switch (XINT (x3, 1))
        {
        case 23:
          if (pattern325 (x3, DImode) != 0
              || pattern549 (x1, DImode) != 0)
            return -1;
          x5 = XVECEXP (x3, 0, 1);
          operands[2] = x5;
          if (!register_operand (operands[2], DImode)
              || !
#line 13941 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_GNU2_TLS))
            return -1;
          return 798; /* *tls_dynamic_gnu2_call_64 */

        case 136:
          x6 = XVECEXP (x1, 0, 1);
          if (GET_CODE (x6) != UNSPEC
              || XVECLEN (x6, 0) != 1
              || XINT (x6, 1) != 173)
            return -1;
          x7 = XVECEXP (x3, 0, 0);
          operands[1] = x7;
          x5 = XVECEXP (x3, 0, 1);
          operands[2] = x5;
          x8 = XVECEXP (x3, 0, 2);
          operands[3] = x8;
          x9 = XVECEXP (x6, 0, 0);
          operands[4] = x9;
          if (!const48_operand (operands[4], SImode))
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case HImode:
              if (!register_operand (operands[0], HImode)
                  || GET_MODE (x3) != HImode)
                return -1;
              switch (GET_MODE (operands[1]))
                {
                case V16SImode:
                  if (!register_operand (operands[1], V16SImode)
                      || !nonimmediate_operand (operands[2], V16SImode)
                      || !const_0_to_7_operand (operands[3], SImode)
                      || !(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 2588 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (V16SImode == V16SFmode
									      || V16SImode == V8DFmode
									      || V16SImode == V8DImode
									      || V16SImode == V16SImode))))
                    return -1;
                  return 1641; /* avx512f_cmpv16si3_round */

                case V16SFmode:
                  if (!register_operand (operands[1], V16SFmode)
                      || !nonimmediate_operand (operands[2], V16SFmode)
                      || !const_0_to_31_operand (operands[3], SImode)
                      || !(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 2588 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (V16SFmode == V16SFmode
									      || V16SFmode == V8DFmode
									      || V16SFmode == V8DImode
									      || V16SFmode == V16SImode))))
                    return -1;
                  return 1657; /* avx512f_cmpv16sf3_round */

                default:
                  return -1;
                }

            case QImode:
              if (!register_operand (operands[0], QImode)
                  || GET_MODE (x3) != QImode)
                return -1;
              switch (GET_MODE (operands[1]))
                {
                case V8DImode:
                  if (!register_operand (operands[1], V8DImode)
                      || !nonimmediate_operand (operands[2], V8DImode)
                      || !const_0_to_7_operand (operands[3], SImode)
                      || !(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 2588 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (V8DImode == V16SFmode
									      || V8DImode == V8DFmode
									      || V8DImode == V8DImode
									      || V8DImode == V16SImode))))
                    return -1;
                  return 1649; /* avx512f_cmpv8di3_round */

                case V8DFmode:
                  if (!register_operand (operands[1], V8DFmode)
                      || !nonimmediate_operand (operands[2], V8DFmode)
                      || !const_0_to_31_operand (operands[3], SImode)
                      || !(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 2588 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && (V8DFmode == V16SFmode
									      || V8DFmode == V8DFmode
									      || V8DFmode == V8DImode
									      || V8DFmode == V16SImode))))
                    return -1;
                  return 1665; /* avx512f_cmpv8df3_round */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case 124:
          x6 = XVECEXP (x1, 0, 1);
          if (GET_CODE (x6) != UNSPEC
              || XVECLEN (x6, 0) != 1
              || XINT (x6, 1) != 173)
            return -1;
          x7 = XVECEXP (x3, 0, 0);
          operands[1] = x7;
          x5 = XVECEXP (x3, 0, 1);
          operands[2] = x5;
          x9 = XVECEXP (x6, 0, 0);
          operands[4] = x9;
          if (!const_4_or_8_to_11_operand (operands[4], SImode))
            return -1;
          x8 = XVECEXP (x3, 0, 2);
          switch (GET_CODE (x8))
            {
            case REG:
            case SUBREG:
              operands[3] = x8;
              switch (GET_MODE (operands[0]))
                {
                case V16SFmode:
                  if (pattern768 (x3, V16SFmode) != 0
                      || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3929 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && (V16SFmode == V16SFmode
							      || V16SFmode == V8DFmode
							      || V16SFmode == V8DImode
							      || V16SFmode == V16SImode))))
                    return -1;
                  return 1981; /* *fma_fmaddsub_v16sf_round */

                case V8DFmode:
                  if (pattern768 (x3, V8DFmode) != 0
                      || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3929 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && (V8DFmode == V16SFmode
							      || V8DFmode == V8DFmode
							      || V8DFmode == V8DImode
							      || V8DFmode == V16SImode))))
                    return -1;
                  return 1990; /* *fma_fmaddsub_v8df_round */

                default:
                  return -1;
                }

            case NEG:
              x10 = XEXP (x8, 0);
              operands[3] = x10;
              switch (GET_MODE (operands[0]))
                {
                case V16SFmode:
                  if (pattern769 (x3, V16SFmode) != 0
                      || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3998 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && (V16SFmode == V16SFmode
							      || V16SFmode == V8DFmode
							      || V16SFmode == V8DImode
							      || V16SFmode == V16SImode))))
                    return -1;
                  return 2027; /* *fma_fmsubadd_v16sf_round */

                case V8DFmode:
                  if (pattern769 (x3, V8DFmode) != 0
                      || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3998 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && (V8DFmode == V16SFmode
							      || V8DFmode == V8DFmode
							      || V8DFmode == V8DImode
							      || V8DFmode == V16SImode))))
                    return -1;
                  return 2036; /* *fma_fmsubadd_v8df_round */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case 123:
          x6 = XVECEXP (x1, 0, 1);
          if (GET_CODE (x6) != SET)
            return -1;
          x11 = XEXP (x6, 1);
          if (pattern186 (x11, CCmode, 123, UNSPEC, 3) != 0)
            return -1;
          x12 = XEXP (x6, 0);
          if (GET_CODE (x12) != REG
              || REGNO (x12) != 17
              || GET_MODE (x12) != CCmode)
            return -1;
          x7 = XVECEXP (x3, 0, 0);
          operands[1] = x7;
          if (!register_operand (operands[1], V16QImode))
            return -1;
          x5 = XVECEXP (x3, 0, 1);
          operands[2] = x5;
          if (!nonimmediate_operand (operands[2], V16QImode))
            return -1;
          x8 = XVECEXP (x3, 0, 2);
          operands[3] = x8;
          if (!const_0_to_255_operand (operands[3], SImode))
            return -1;
          x13 = XVECEXP (x11, 0, 0);
          if (!rtx_equal_p (x13, operands[1]))
            return -1;
          x14 = XVECEXP (x11, 0, 1);
          if (!rtx_equal_p (x14, operands[2]))
            return -1;
          x15 = XVECEXP (x11, 0, 2);
          if (!rtx_equal_p (x15, operands[3]))
            return -1;
          switch (pattern910 (x3))
            {
            case 0:
              if (!
#line 15919 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_2))
                return -1;
              return 3932; /* sse4_2_pcmpistri */

            case 1:
              if (!
#line 15943 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_2))
                return -1;
              return 3933; /* sse4_2_pcmpistrm */

            default:
              return -1;
            }

        case 146:
          return recog_214 (x1, insn, pnum_clobbers);

        case 194:
          x6 = XVECEXP (x1, 0, 1);
          if (GET_CODE (x6) != UNSPEC
              || XVECLEN (x6, 0) != 1
              || XINT (x6, 1) != 173)
            return -1;
          x7 = XVECEXP (x3, 0, 0);
          operands[1] = x7;
          x5 = XVECEXP (x3, 0, 1);
          operands[2] = x5;
          x8 = XVECEXP (x3, 0, 2);
          operands[3] = x8;
          if (!const_0_to_15_operand (operands[3], SImode))
            return -1;
          x9 = XVECEXP (x6, 0, 0);
          operands[4] = x9;
          if (!const48_operand (operands[4], SImode))
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case V16SFmode:
              if (pattern270 (x3, V16SFmode) != 0
                  || !(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 19422 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && (V16SFmode == V16SFmode
									      || V16SFmode == V8DFmode
									      || V16SFmode == V8DImode
									      || V16SFmode == V16SImode))))
                return -1;
              return 4802; /* avx512dq_rangepv16sf_round */

            case V8DFmode:
              if (pattern270 (x3, V8DFmode) != 0
                  || !(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 19422 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && (V8DFmode == V16SFmode
									      || V8DFmode == V8DFmode
									      || V8DFmode == V8DImode
									      || V8DFmode == V16SImode))))
                return -1;
              return 4810; /* avx512dq_rangepv8df_round */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 5:
      if (XINT (x3, 1) != 122)
        return -1;
      x6 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x6) != SET)
        return -1;
      x11 = XEXP (x6, 1);
      if (pattern186 (x11, CCmode, 122, UNSPEC, 5) != 0)
        return -1;
      x12 = XEXP (x6, 0);
      if (GET_CODE (x12) != REG
          || REGNO (x12) != 17
          || GET_MODE (x12) != CCmode)
        return -1;
      x4 = XEXP (x2, 0);
      operands[0] = x4;
      x7 = XVECEXP (x3, 0, 0);
      operands[1] = x7;
      if (!register_operand (operands[1], V16QImode))
        return -1;
      x5 = XVECEXP (x3, 0, 1);
      operands[2] = x5;
      if (!register_operand (operands[2], SImode))
        return -1;
      x8 = XVECEXP (x3, 0, 2);
      operands[3] = x8;
      if (!nonimmediate_operand (operands[3], V16QImode))
        return -1;
      x16 = XVECEXP (x3, 0, 3);
      operands[4] = x16;
      if (!register_operand (operands[4], SImode))
        return -1;
      x17 = XVECEXP (x3, 0, 4);
      operands[5] = x17;
      if (!const_0_to_255_operand (operands[5], SImode))
        return -1;
      x13 = XVECEXP (x11, 0, 0);
      if (!rtx_equal_p (x13, operands[1]))
        return -1;
      x14 = XVECEXP (x11, 0, 1);
      if (!rtx_equal_p (x14, operands[2]))
        return -1;
      x15 = XVECEXP (x11, 0, 2);
      if (!rtx_equal_p (x15, operands[3]))
        return -1;
      x18 = XVECEXP (x11, 0, 3);
      if (!rtx_equal_p (x18, operands[4]))
        return -1;
      x19 = XVECEXP (x11, 0, 4);
      if (!rtx_equal_p (x19, operands[5]))
        return -1;
      switch (pattern910 (x3))
        {
        case 0:
          if (!
#line 15790 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_2))
            return -1;
          return 3928; /* sse4_2_pcmpestri */

        case 1:
          if (!
#line 15818 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_2))
            return -1;
          return 3929; /* sse4_2_pcmpestrm */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_227 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case ASHIFT:
      if (pattern114 (x1) != 0)
        return -1;
      x5 = XEXP (x4, 0);
      switch (GET_CODE (x5))
        {
        case ZERO_EXTEND:
          if (GET_MODE (x5) != HImode)
            return -1;
          x6 = XEXP (x5, 0);
          if (GET_CODE (x6) != TRUNCATE
              || GET_MODE (x6) != QImode)
            return -1;
          x7 = XEXP (x6, 0);
          if (GET_CODE (x7) != MOD
              || GET_MODE (x7) != HImode)
            return -1;
          x8 = XEXP (x4, 1);
          if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
            return -1;
          x9 = XEXP (x3, 1);
          if (GET_CODE (x9) != ZERO_EXTEND
              || GET_MODE (x9) != HImode)
            return -1;
          x10 = XEXP (x9, 0);
          if (GET_CODE (x10) != TRUNCATE
              || GET_MODE (x10) != QImode)
            return -1;
          x11 = XEXP (x10, 0);
          if (GET_CODE (x11) != DIV
              || GET_MODE (x11) != HImode
              || !register_operand (operands[0], HImode)
              || GET_MODE (x3) != HImode
              || GET_MODE (x4) != HImode)
            return -1;
          x12 = XEXP (x7, 0);
          operands[1] = x12;
          if (!register_operand (operands[1], HImode))
            return -1;
          x13 = XEXP (x7, 1);
          if (GET_MODE (x13) != HImode)
            return -1;
          x14 = XEXP (x11, 1);
          if (GET_MODE (x14) != HImode)
            return -1;
          x15 = XEXP (x11, 0);
          if (!rtx_equal_p (x15, operands[1]))
            return -1;
          switch (GET_CODE (x13))
            {
            case SIGN_EXTEND:
              if (GET_CODE (x14) != SIGN_EXTEND)
                return -1;
              x16 = XEXP (x13, 0);
              operands[2] = x16;
              if (!nonimmediate_operand (operands[2], QImode))
                return -1;
              x17 = XEXP (x14, 0);
              if (!rtx_equal_p (x17, operands[2])
                  || !
#line 7669 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_QIMODE_MATH))
                return -1;
              return 365; /* divmodhiqi3 */

            case ZERO_EXTEND:
              if (GET_CODE (x14) != ZERO_EXTEND)
                return -1;
              x16 = XEXP (x13, 0);
              operands[2] = x16;
              if (!nonimmediate_operand (operands[2], QImode))
                return -1;
              x17 = XEXP (x14, 0);
              if (!rtx_equal_p (x17, operands[2])
                  || !
#line 7835 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_QIMODE_MATH))
                return -1;
              return 376; /* udivmodhiqi3 */

            default:
              return -1;
            }

        case REG:
        case SUBREG:
        case MEM:
          if (!rtx_equal_p (x5, operands[0]))
            return -1;
          x9 = XEXP (x3, 1);
          if (pattern181 (x9, LSHIFTRT) != 0)
            return -1;
          x8 = XEXP (x4, 1);
          operands[2] = x8;
          if (!nonmemory_operand (operands[2], QImode))
            return -1;
          x10 = XEXP (x9, 0);
          operands[1] = x10;
          switch (pattern795 (x3))
            {
            case 0:
              if (!
#line 9566 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
                return -1;
              return 505; /* x86_64_shld */

            case 1:
              return 506; /* x86_shld */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case REG:
    case SUBREG:
    case MEM:
      switch (pattern179 (x1))
        {
        case 0:
          if (x86_64_szext_general_operand (operands[2], DImode)
              && 
#line 8686 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_STV && TARGET_SSE2
   && ix86_binary_operator_ok (IOR, DImode, operands)))
            return 411; /* *iordi3_doubleword */
          if (!x86_64_general_operand (operands[2], DImode)
              || !(
#line 8728 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (IOR, DImode, operands)) && 
#line 986 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          return 417; /* *iordi_1 */

        case 1:
          if (!
#line 8728 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (IOR, HImode, operands)))
            return -1;
          return 413; /* *iorhi_1 */

        case 2:
          if (!
#line 8728 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (IOR, SImode, operands)))
            return -1;
          return 415; /* *iorsi_1 */

        case 3:
          if (!
#line 8761 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (IOR, QImode, operands)))
            return -1;
          return 423; /* *iorqi_1 */

        case 4:
          if (!
#line 1327 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 1297; /* kiorqi */

        case 5:
          if (!
#line 1327 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 1300; /* kiorhi */

        case 6:
          if (!(
#line 1327 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1308 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 1303; /* kiorsi */

        case 7:
          if (!(
#line 1327 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1308 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 1306; /* kiordi */

        case 8:
          if (!
#line 8779 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
            return -1;
          return 425; /* *iorqi_1_slp */

        default:
          return -1;
        }

    case ZERO_EXTEND:
      if (pattern180 (x1) != 0
          || !
#line 8751 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (IOR, SImode, operands)))
        return -1;
      return 421; /* *iorsi_1_zext_imm */

    case LSHIFTRT:
      x9 = XEXP (x3, 1);
      if (pattern181 (x9, ASHIFT) != 0
          || pattern114 (x1) != 0)
        return -1;
      x8 = XEXP (x4, 1);
      operands[2] = x8;
      if (!nonmemory_operand (operands[2], QImode))
        return -1;
      x10 = XEXP (x9, 0);
      operands[1] = x10;
      x5 = XEXP (x4, 0);
      if (!rtx_equal_p (x5, operands[0]))
        return -1;
      switch (pattern795 (x3))
        {
        case 0:
          if (!
#line 10197 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
            return -1;
          return 535; /* x86_64_shrd */

        case 1:
          return 536; /* x86_shrd */

        default:
          return -1;
        }

    case NOT:
      x5 = XEXP (x4, 0);
      if (GET_CODE (x5) != PLUS)
        return -1;
      x18 = XEXP (x5, 1);
      if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
          || pattern114 (x1) != 0)
        return -1;
      x6 = XEXP (x5, 0);
      operands[1] = x6;
      x9 = XEXP (x3, 1);
      if (!rtx_equal_p (x9, operands[1]))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case SImode:
          if (!register_operand (operands[0], SImode)
              || GET_MODE (x3) != SImode
              || GET_MODE (x4) != SImode
              || GET_MODE (x5) != SImode
              || !nonimmediate_operand (operands[1], SImode)
              || !
#line 13147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_TBM))
            return -1;
          return 748; /* *tbm_blci_si */

        case DImode:
          if (!register_operand (operands[0], DImode)
              || GET_MODE (x3) != DImode
              || GET_MODE (x4) != DImode
              || GET_MODE (x5) != DImode
              || !nonimmediate_operand (operands[1], DImode)
              || !(
#line 13147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_TBM) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          return 749; /* *tbm_blci_di */

        default:
          return -1;
        }

    case PLUS:
      x8 = XEXP (x4, 1);
      if (GET_CODE (x8) != CONST_INT
          || pattern182 (x1) != 0)
        return -1;
      switch (XWINT (x8, 0))
        {
        case 1LL:
          switch (pattern623 (x3))
            {
            case 0:
              if (!
#line 13187 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_TBM))
                return -1;
              return 754; /* *tbm_blcs_si */

            case 1:
              if (!(
#line 13187 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_TBM) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              return 755; /* *tbm_blcs_di */

            case 2:
              if (!
#line 13228 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_TBM))
                return -1;
              return 760; /* *tbm_t1mskc_si */

            case 3:
              if (!(
#line 13228 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_TBM) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              return 761; /* *tbm_t1mskc_di */

            default:
              return -1;
            }

        case -1LL:
          switch (pattern623 (x3))
            {
            case 0:
              if (!
#line 13200 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_TBM))
                return -1;
              return 756; /* *tbm_blsfill_si */

            case 1:
              if (!(
#line 13200 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_TBM) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              return 757; /* *tbm_blsfill_di */

            case 2:
              if (!
#line 13214 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_TBM))
                return -1;
              return 758; /* *tbm_blsic_si */

            case 3:
              if (!(
#line 13214 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_TBM) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              return 759; /* *tbm_blsic_di */

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_228 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  operands[0] = x3;
  x4 = XEXP (x2, 1);
  switch (XVECLEN (x4, 0))
    {
    case 1:
      switch (XINT (x4, 1))
        {
        case 1:
          x5 = XVECEXP (x1, 0, 1);
          if (pattern115 (x5, CCmode, 17) != 0)
            return -1;
          x6 = XVECEXP (x4, 0, 0);
          operands[1] = x6;
          switch (GET_MODE (operands[0]))
            {
            case SImode:
              if (!register_operand (operands[0], SImode)
                  || GET_MODE (x4) != SImode
                  || !register_operand (operands[1], SImode)
                  || !(
#line 17516 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_target_stack_probe ()) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return -1;
              return 985; /* allocate_stack_worker_probe_si */

            case DImode:
              if (!register_operand (operands[0], DImode)
                  || GET_MODE (x4) != DImode
                  || !register_operand (operands[1], DImode)
                  || !(
#line 17516 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_target_stack_probe ()) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return -1;
              return 986; /* allocate_stack_worker_probe_di */

            default:
              return -1;
            }

        case 10:
          if (pattern268 (x1, 10, DImode, UNSPEC_VOLATILE, 1) != 0
              || !register_operand (operands[0], DImode))
            return -1;
          x6 = XVECEXP (x4, 0, 0);
          operands[2] = x6;
          if (!register_operand (operands[2], SImode))
            return -1;
          x5 = XVECEXP (x1, 0, 1);
          x7 = XEXP (x5, 0);
          operands[1] = x7;
          if (!register_operand (operands[1], DImode))
            return -1;
          x8 = XEXP (x5, 1);
          x9 = XVECEXP (x8, 0, 0);
          if (!rtx_equal_p (x9, operands[2])
              || !
#line 18804 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
            return -1;
          return 1010; /* rdpmc_rex64 */

        case 8:
          if (pattern326 (x1, DImode, 8) != 0
              || !
#line 18822 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
            return -1;
          return 1012; /* rdtsc_rex64 */

        case 9:
          if (pattern326 (x1, SImode, 9) != 0
              || !
#line 18832 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT))
            return -1;
          return 1013; /* rdtscp */

        case 39:
          switch (pattern327 (x1, 39))
            {
            case 0:
              if (!
#line 19195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_RDRND))
                return -1;
              return 1057; /* rdrandhi_1 */

            case 1:
              if (!
#line 19195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_RDRND))
                return -1;
              return 1058; /* rdrandsi_1 */

            case 2:
              if (!(
#line 19195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_RDRND) && 
#line 986 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              return 1059; /* rdranddi_1 */

            default:
              return -1;
            }

        case 40:
          switch (pattern327 (x1, 40))
            {
            case 0:
              if (!
#line 19205 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_RDSEED))
                return -1;
              return 1060; /* rdseedhi_1 */

            case 1:
              if (!
#line 19205 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_RDSEED))
                return -1;
              return 1061; /* rdseedsi_1 */

            case 2:
              if (!(
#line 19205 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_RDSEED) && 
#line 986 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              return 1062; /* rdseeddi_1 */

            default:
              return -1;
            }

        case 51:
          if (GET_MODE (x4) != SImode)
            return -1;
          x5 = XVECEXP (x1, 0, 1);
          if (GET_CODE (x5) != SET)
            return -1;
          x8 = XEXP (x5, 1);
          if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
              || !register_operand (operands[0], SImode))
            return -1;
          x6 = XVECEXP (x4, 0, 0);
          operands[2] = x6;
          if (!register_operand (operands[2], SImode))
            return -1;
          x7 = XEXP (x5, 0);
          operands[1] = x7;
          if (!register_operand (operands[1], SImode)
              || !
#line 19526 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_PKU))
            return -1;
          return 1091; /* *rdpkru */

        default:
          return -1;
        }

    case 2:
      switch (XINT (x4, 1))
        {
        case 2:
          x5 = XVECEXP (x1, 0, 1);
          if (pattern115 (x5, CCmode, 17) != 0)
            return -1;
          x6 = XVECEXP (x4, 0, 0);
          operands[1] = x6;
          x10 = XVECEXP (x4, 0, 1);
          operands[2] = x10;
          switch (GET_MODE (operands[0]))
            {
            case SImode:
              if (pattern681 (x4, SImode) != 0
                  || !
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))
                return -1;
              return 991; /* probe_stack_rangesi */

            case DImode:
              if (pattern681 (x4, DImode) != 0
                  || !
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))
                return -1;
              return 992; /* probe_stack_rangedi */

            default:
              return -1;
            }

        case 63:
          x5 = XVECEXP (x1, 0, 1);
          if (GET_CODE (x5) != SET)
            return -1;
          x6 = XVECEXP (x4, 0, 0);
          operands[1] = x6;
          x10 = XVECEXP (x4, 0, 1);
          operands[3] = x10;
          if (!const_int_operand (operands[3], SImode))
            return -1;
          x7 = XEXP (x5, 0);
          if (!rtx_equal_p (x7, operands[1]))
            return -1;
          x8 = XEXP (x5, 1);
          switch (GET_CODE (x8))
            {
            case PLUS:
              if (pnum_clobbers == NULL)
                return -1;
              x11 = XEXP (x8, 1);
              operands[2] = x11;
              x12 = XEXP (x8, 0);
              if (!rtx_equal_p (x12, operands[1]))
                return -1;
              switch (GET_MODE (operands[0]))
                {
                case QImode:
                  if (pattern771 (x1, QImode) != 0
                      || !
#line 523 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sync.md"
(TARGET_XADD))
                    return -1;
                  *pnum_clobbers = 1;
                  return 4974; /* atomic_fetch_addqi */

                case HImode:
                  if (pattern771 (x1, HImode) != 0
                      || !
#line 523 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sync.md"
(TARGET_XADD))
                    return -1;
                  *pnum_clobbers = 1;
                  return 4975; /* atomic_fetch_addhi */

                case SImode:
                  if (pattern771 (x1, SImode) != 0
                      || !
#line 523 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sync.md"
(TARGET_XADD))
                    return -1;
                  *pnum_clobbers = 1;
                  return 4976; /* atomic_fetch_addsi */

                case DImode:
                  if (pattern771 (x1, DImode) != 0
                      || !(
#line 523 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sync.md"
(TARGET_XADD) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                    return -1;
                  *pnum_clobbers = 1;
                  return 4977; /* atomic_fetch_adddi */

                default:
                  return -1;
                }

            case REG:
            case SUBREG:
              operands[2] = x8;
              switch (GET_MODE (operands[0]))
                {
                case QImode:
                  if (pattern710 (x4, QImode) != 0)
                    return -1;
                  return 4982; /* atomic_exchangeqi */

                case HImode:
                  if (pattern710 (x4, HImode) != 0)
                    return -1;
                  return 4983; /* atomic_exchangehi */

                case SImode:
                  if (pattern710 (x4, SImode) != 0)
                    return -1;
                  return 4984; /* atomic_exchangesi */

                case DImode:
                  if (pattern710 (x4, DImode) != 0
                      || !
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
                    return -1;
                  return 4985; /* atomic_exchangedi */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case 64:
          x5 = XVECEXP (x1, 0, 1);
          if (pattern115 (x5, CCmode, 17) != 0)
            return -1;
          x10 = XVECEXP (x4, 0, 1);
          operands[2] = x10;
          if (!const_int_operand (operands[2], SImode))
            return -1;
          x6 = XVECEXP (x4, 0, 0);
          switch (GET_CODE (x6))
            {
            case PLUS:
              switch (pattern683 (x4))
                {
                case 0:
                  return 4986; /* atomic_addqi */

                case 1:
                  return 4987; /* atomic_addhi */

                case 2:
                  return 4988; /* atomic_addsi */

                case 3:
                  if (!
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
                    return -1;
                  return 4989; /* atomic_adddi */

                default:
                  return -1;
                }

            case MINUS:
              switch (pattern683 (x4))
                {
                case 0:
                  return 4990; /* atomic_subqi */

                case 1:
                  return 4991; /* atomic_subhi */

                case 2:
                  return 4992; /* atomic_subsi */

                case 3:
                  if (!
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
                    return -1;
                  return 4993; /* atomic_subdi */

                default:
                  return -1;
                }

            case AND:
              switch (pattern683 (x4))
                {
                case 0:
                  return 4994; /* atomic_andqi */

                case 1:
                  return 4997; /* atomic_andhi */

                case 2:
                  return 5000; /* atomic_andsi */

                case 3:
                  if (!
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
                    return -1;
                  return 5003; /* atomic_anddi */

                default:
                  return -1;
                }

            case IOR:
              switch (pattern683 (x4))
                {
                case 0:
                  return 4995; /* atomic_orqi */

                case 1:
                  return 4998; /* atomic_orhi */

                case 2:
                  return 5001; /* atomic_orsi */

                case 3:
                  if (!
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
                    return -1;
                  return 5004; /* atomic_ordi */

                default:
                  return -1;
                }

            case XOR:
              switch (pattern683 (x4))
                {
                case 0:
                  return 4996; /* atomic_xorqi */

                case 1:
                  return 4999; /* atomic_xorhi */

                case 2:
                  return 5002; /* atomic_xorsi */

                case 3:
                  if (!
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
                    return -1;
                  return 5005; /* atomic_xordi */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_229 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
    case MEM:
      x5 = XEXP (x2, 0);
      switch (GET_CODE (x5))
        {
        case REG:
        case SUBREG:
        case MEM:
          operands[0] = x5;
          operands[1] = x4;
          x6 = XEXP (x3, 1);
          operands[2] = x6;
          x7 = XVECEXP (x1, 0, 1);
          switch (GET_CODE (x7))
            {
            case CLOBBER:
              x8 = XEXP (x7, 0);
              if (GET_CODE (x8) != REG
                  || REGNO (x8) != 17
                  || GET_MODE (x8) != CCmode)
                return -1;
              switch (GET_MODE (operands[0]))
                {
                case DImode:
                  if (!nonimmediate_operand (operands[0], DImode)
                      || GET_MODE (x3) != DImode
                      || !nonimmediate_operand (operands[1], DImode))
                    return -1;
                  if (x86_64_hilo_general_operand (operands[2], DImode)
                      && (
#line 5515 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, DImode, operands)) && 
#line 1041 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT)))
                    return 215; /* *adddi3_doubleword */
                  if (!x86_64_general_operand (operands[2], DImode)
                      || !(
#line 5546 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, DImode, operands)) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                    return -1;
                  return 218; /* *adddi_1 */

                case TImode:
                  if (pattern639 (x3, TImode) != 0
                      || !(
#line 5515 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, TImode, operands)) && 
#line 1042 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                    return -1;
                  return 216; /* *addti3_doubleword */

                case SImode:
                  if (pattern175 (x3) != 0
                      || !
#line 5546 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, SImode, operands)))
                    return -1;
                  return 217; /* *addsi_1 */

                case HImode:
                  if (pattern174 (x3, HImode) != 0
                      || !
#line 5649 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, HImode, operands)))
                    return -1;
                  return 220; /* *addhi_1 */

                case QImode:
                  if (pattern174 (x3, QImode) != 0
                      || !
#line 5698 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, QImode, operands)))
                    return -1;
                  return 221; /* *addqi_1 */

                default:
                  return -1;
                }

            case UNSPEC:
              if (XVECLEN (x7, 0) != 1)
                return -1;
              switch (XINT (x7, 1))
                {
                case 170:
                  switch (pattern176 (x1))
                    {
                    case 0:
                      if (!(
#line 1416 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1312 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ)))
                        return -1;
                      return 1320; /* kaddqi */

                    case 1:
                      if (!(
#line 1416 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1312 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ)))
                        return -1;
                      return 1321; /* kaddhi */

                    case 2:
                      if (!(
#line 1416 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1313 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
                        return -1;
                      return 1322; /* kaddsi */

                    case 3:
                      if (!(
#line 1416 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1313 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
                        return -1;
                      return 1323; /* kadddi */

                    default:
                      return -1;
                    }

                case 173:
                  switch (pattern546 (x1))
                    {
                    case 0:
                      if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (PLUS, V16SFmode, operands) && 1 && (V16SFmode == V16SFmode
							      || V16SFmode == V8DFmode
							      || V16SFmode == V8DImode
							      || V16SFmode == V16SImode)) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
                        return -1;
                      return 1350; /* *addv16sf3_round */

                    case 1:
                      if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (PLUS, V8SFmode, operands) && 1 && (V8SFmode == V16SFmode
							      || V8SFmode == V8DFmode
							      || V8SFmode == V8DImode
							      || V8SFmode == V16SImode)) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
                        return -1;
                      return 1358; /* *addv8sf3_round */

                    case 2:
                      if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 1561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (PLUS, V4SFmode, operands) && 1 && (V4SFmode == V16SFmode
							      || V4SFmode == V8DFmode
							      || V4SFmode == V8DImode
							      || V4SFmode == V16SImode))))
                        return -1;
                      return 1366; /* *addv4sf3_round */

                    case 3:
                      if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (PLUS, V8DFmode, operands) && 1 && (V8DFmode == V16SFmode
							      || V8DFmode == V8DFmode
							      || V8DFmode == V8DImode
							      || V8DFmode == V16SImode)) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
                        return -1;
                      return 1374; /* *addv8df3_round */

                    case 4:
                      if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (PLUS, V4DFmode, operands) && 1 && (V4DFmode == V16SFmode
							      || V4DFmode == V8DFmode
							      || V4DFmode == V8DImode
							      || V4DFmode == V16SImode)) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
                        return -1;
                      return 1382; /* *addv4df3_round */

                    case 5:
                      if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (PLUS, V2DFmode, operands) && 1 && (V2DFmode == V16SFmode
							      || V2DFmode == V8DFmode
							      || V2DFmode == V8DImode
							      || V2DFmode == V16SImode)) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))))
                        return -1;
                      return 1390; /* *addv2df3_round */

                    default:
                      return -1;
                    }

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case STRICT_LOW_PART:
          if (pattern178 (x1) != 0
              || !
#line 5761 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((! TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
            return -1;
          return 222; /* *addqi_1_slp */

        default:
          return -1;
        }

    case PLUS:
      x9 = XEXP (x4, 0);
      switch (GET_CODE (x9))
        {
        case GE:
        case GT:
        case LE:
        case LT:
        case GTU:
        case LTU:
        case UNEQ:
        case UNGE:
        case UNGT:
        case UNLE:
        case UNLT:
        case LTGT:
          operands[4] = x9;
          x10 = XEXP (x9, 1);
          if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
              || pattern114 (x1) != 0)
            return -1;
          x11 = XEXP (x9, 0);
          operands[3] = x11;
          if (!flags_reg_operand (operands[3], VOIDmode))
            return -1;
          x12 = XEXP (x4, 1);
          operands[1] = x12;
          x6 = XEXP (x3, 1);
          operands[2] = x6;
          switch (GET_MODE (operands[0]))
            {
            case QImode:
              if (pattern790 (x3, QImode) != 0
                  || !
#line 6681 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, QImode, operands)))
                return -1;
              return 295; /* addqi3_carry */

            case HImode:
              if (pattern790 (x3, HImode) != 0
                  || !
#line 6681 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, HImode, operands)))
                return -1;
              return 296; /* addhi3_carry */

            case SImode:
              if (pattern791 (x3, SImode) != 0
                  || !
#line 6681 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, SImode, operands)))
                return -1;
              return 297; /* addsi3_carry */

            case DImode:
              if (pattern791 (x3, DImode) != 0
                  || !(
#line 6681 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (PLUS, DImode, operands)) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              return 298; /* adddi3_carry */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case UNSPEC:
      if (pattern114 (x1) != 0)
        return -1;
      switch (XVECLEN (x4, 0))
        {
        case 1:
          if (XINT (x4, 1) != 20)
            return -1;
          x13 = XVECEXP (x4, 0, 0);
          if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x6 = XEXP (x3, 1);
          operands[1] = x6;
          switch (GET_MODE (operands[0]))
            {
            case SImode:
              if (pattern706 (x3, SImode) != 0)
                return -1;
              if (
#line 13788 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_X32))
                return 790; /* *add_tp_x32 */
              if (!(
#line 13815 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_X32) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return -1;
              return 792; /* *add_tp_si */

            case DImode:
              if (pattern706 (x3, DImode) != 0
                  || !(
#line 13815 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_X32) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return -1;
              return 793; /* *add_tp_di */

            default:
              return -1;
            }

        case 4:
          if (XINT (x4, 1) != 23
              || pattern579 (x4) != 0)
            return -1;
          x6 = XEXP (x3, 1);
          if (pattern734 (x6, SImode) != 0
              || pattern884 (x3) != 0)
            return -1;
          x14 = XEXP (x6, 0);
          x15 = XVECEXP (x14, 0, 0);
          operands[1] = x15;
          if (!tls_symbolic_operand (operands[1], VOIDmode)
              || !
#line 13899 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_GNU2_TLS))
            return -1;
          return 796; /* *tls_dynamic_gnu2_combine_32 */

        case 3:
          if (XINT (x4, 1) != 23
              || GET_MODE (x4) != DImode)
            return -1;
          x16 = XVECEXP (x4, 0, 2);
          if (GET_CODE (x16) != REG
              || REGNO (x16) != 7
              || GET_MODE (x16) != DImode)
            return -1;
          x6 = XEXP (x3, 1);
          if (pattern734 (x6, DImode) != 0
              || !register_operand (operands[0], DImode)
              || GET_MODE (x3) != DImode)
            return -1;
          x13 = XVECEXP (x4, 0, 0);
          operands[2] = x13;
          if (!tls_modbase_operand (operands[2], VOIDmode))
            return -1;
          x17 = XVECEXP (x4, 0, 1);
          operands[3] = x17;
          x14 = XEXP (x6, 0);
          x15 = XVECEXP (x14, 0, 0);
          operands[1] = x15;
          if (!tls_symbolic_operand (operands[1], VOIDmode)
              || !
#line 13958 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_GNU2_TLS))
            return -1;
          return 799; /* *tls_dynamic_gnu2_combine_64 */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_230 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  switch (GET_CODE (x3))
    {
    case REG:
    case SUBREG:
    case MEM:
      res = recog_209 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case STRICT_LOW_PART:
      x4 = XVECEXP (x1, 0, 1);
      if (pattern135 (x4) == 0)
        {
          x5 = XEXP (x3, 0);
          operands[0] = x5;
          x6 = XEXP (x2, 1);
          operands[1] = x6;
          switch (GET_MODE (operands[0]))
            {
            case QImode:
              if (register_operand (operands[0], QImode)
                  && const0_operand (operands[1], QImode)
                  && 
#line 2726 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
                return 99; /* *movstrictqi_xor */
              break;

            case HImode:
              if (register_operand (operands[0], HImode)
                  && const0_operand (operands[1], HImode)
                  && 
#line 2726 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
                return 100; /* *movstricthi_xor */
              break;

            default:
              break;
            }
        }
      break;

    case PC:
      res = recog_210 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    default:
      break;
    }
  x6 = XEXP (x2, 1);
  switch (GET_CODE (x6))
    {
    case SUBREG:
      if (XINT (x6, 1) != 0)
        return -1;
      x7 = XEXP (x6, 0);
      switch (GET_CODE (x7))
        {
        case ZERO_EXTRACT:
          if (GET_MODE (x7) != SImode)
            return -1;
          x8 = XEXP (x7, 1);
          if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
            return -1;
          x9 = XEXP (x7, 2);
          if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 8]
              || pattern183 (x1, 41) != 0
              || !norex_memory_operand (operands[0], QImode)
              || GET_MODE (x6) != QImode)
            return -1;
          x10 = XEXP (x7, 0);
          operands[1] = x10;
          if (!ext_register_operand (operands[1], VOIDmode)
              || !
#line 2799 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && reload_completed))
            return -1;
          return 106; /* *extzvqi_mem_rex64 */

        case REG:
        case SUBREG:
        case MEM:
          operands[1] = x7;
          switch (GET_CODE (x3))
            {
            case ZERO_EXTRACT:
              if (GET_MODE (x3) != SImode)
                return -1;
              x11 = XEXP (x3, 1);
              if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
                return -1;
              x12 = XEXP (x3, 2);
              if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
                return -1;
              x4 = XVECEXP (x1, 0, 1);
              if (pattern504 (x4, 41) != 0)
                return -1;
              x5 = XEXP (x3, 0);
              operands[0] = x5;
              if (!ext_register_operand (operands[0], VOIDmode)
                  || GET_MODE (x6) != SImode
                  || !norex_memory_operand (operands[1], QImode)
                  || !
#line 2904 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && reload_completed))
                return -1;
              return 111; /* *insvqi_1_mem_rex64 */

            case REG:
            case SUBREG:
              operands[0] = x3;
              if (!register_operand (operands[0], V4SImode))
                return -1;
              x4 = XVECEXP (x1, 0, 1);
              if (GET_CODE (x4) != CLOBBER
                  || GET_MODE (x6) != V4SImode
                  || !nonimmediate_operand (operands[1], DImode))
                return -1;
              x13 = XEXP (x4, 0);
              operands[2] = x13;
              if (!scratch_operand (operands[2], V4SImode)
                  || !
#line 1120 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(!TARGET_64BIT && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES_TO_VEC))
                return -1;
              return 1282; /* movdi_to_sse */

            default:
              return -1;
            }

        case PLUS:
          if (pattern322 (x1) != 0)
            return -1;
          x8 = XEXP (x7, 1);
          operands[2] = x8;
          if (general_operand (operands[2], QImode)
              && 
#line 6166 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(/* FIXME: without this LRA can't reload this pattern, see PR82524.  */
   rtx_equal_p (operands[0], operands[1])))
            return 241; /* addqi_ext_1 */
          if (GET_CODE (x8) != SUBREG
              || pattern951 (x8) != 0
              || !
#line 6206 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(/* FIXME: without this LRA can't reload this pattern, see PR82524.  */
   rtx_equal_p (operands[0], operands[1])
   || rtx_equal_p (operands[0], operands[2])))
            return -1;
          return 242; /* *addqi_ext_2 */

        case AND:
          if (pattern322 (x1) != 0)
            return -1;
          x8 = XEXP (x7, 1);
          operands[2] = x8;
          if (general_operand (operands[2], QImode)
              && 
#line 8475 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(/* FIXME: without this LRA can't reload this pattern, see PR82524.  */
   rtx_equal_p (operands[0], operands[1])))
            return 401; /* andqi_ext_1 */
          if (GET_CODE (x8) != SUBREG
              || pattern951 (x8) != 0
              || !
#line 8527 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(/* FIXME: without this LRA can't reload this pattern, see PR82524.  */
   rtx_equal_p (operands[0], operands[1])
   || rtx_equal_p (operands[0], operands[2])))
            return -1;
          return 403; /* *andqi_ext_2 */

        case IOR:
          if (pattern322 (x1) != 0)
            return -1;
          x8 = XEXP (x7, 1);
          operands[2] = x8;
          if (general_operand (operands[2], QImode)
              && 
#line 8867 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   /* FIXME: without this LRA can't reload this pattern, see PR82524.  */
   && rtx_equal_p (operands[0], operands[1])))
            return 449; /* *iorqi_ext_1 */
          if (GET_CODE (x8) != SUBREG
              || pattern951 (x8) != 0
              || !
#line 8890 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   /* FIXME: without this LRA can't reload this pattern, see PR82524.  */
   && (rtx_equal_p (operands[0], operands[1])
       || rtx_equal_p (operands[0], operands[2]))))
            return -1;
          return 451; /* *iorqi_ext_2 */

        case XOR:
          if (pattern322 (x1) != 0)
            return -1;
          x8 = XEXP (x7, 1);
          operands[2] = x8;
          if (general_operand (operands[2], QImode)
              && 
#line 8867 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   /* FIXME: without this LRA can't reload this pattern, see PR82524.  */
   && rtx_equal_p (operands[0], operands[1])))
            return 450; /* *xorqi_ext_1 */
          if (GET_CODE (x8) != SUBREG
              || pattern951 (x8) != 0
              || !
#line 8890 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   /* FIXME: without this LRA can't reload this pattern, see PR82524.  */
   && (rtx_equal_p (operands[0], operands[1])
       || rtx_equal_p (operands[0], operands[2]))))
            return -1;
          return 452; /* *xorqi_ext_2 */

        default:
          return -1;
        }

    case CONST_INT:
      if (GET_CODE (x3) != ZERO_EXTRACT
          || GET_MODE (x3) != DImode)
        return -1;
      x11 = XEXP (x3, 1);
      if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
        return -1;
      x4 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x4) != CLOBBER)
        return -1;
      x13 = XEXP (x4, 0);
      if (GET_CODE (x13) != REG
          || REGNO (x13) != 17
          || GET_MODE (x13) != CCmode)
        return -1;
      x5 = XEXP (x3, 0);
      operands[0] = x5;
      if (!register_operand (operands[0], DImode))
        return -1;
      x12 = XEXP (x3, 2);
      operands[1] = x12;
      if (!const_0_to_63_operand (operands[1], VOIDmode))
        return -1;
      switch (XWINT (x6, 0))
        {
        case 1LL:
          if (!
#line 10900 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && (TARGET_USE_BT || reload_completed)))
            return -1;
          return 599; /* *btsq */

        case 0LL:
          if (!
#line 10913 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && (TARGET_USE_BT || reload_completed)))
            return -1;
          return 600; /* *btrq */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_231 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13;
  int res ATTRIBUTE_UNUSED;
  if (pattern114 (x1) != 0)
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
    case MEM:
      switch (pattern499 (x3))
        {
        case 0:
          if (!
#line 3886 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)))
            return -1;
          return 134; /* zero_extendqisi2_and */

        case 1:
          if (!
#line 3886 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)))
            return -1;
          return 135; /* zero_extendhisi2_and */

        case 2:
          if (!
#line 3937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)))
            return -1;
          return 138; /* zero_extendqihi2_and */

        default:
          return -1;
        }

    case PLUS:
      if (GET_MODE (x4) != SImode
          || !register_operand (operands[0], DImode)
          || GET_MODE (x3) != DImode)
        return -1;
      x5 = XEXP (x4, 0);
      switch (GET_CODE (x5))
        {
        case REG:
        case SUBREG:
        case MEM:
          operands[1] = x5;
          if (!nonimmediate_operand (operands[1], SImode))
            return -1;
          x6 = XEXP (x4, 1);
          operands[2] = x6;
          if (!x86_64_general_operand (operands[2], SImode)
              || !
#line 5602 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (PLUS, SImode, operands)))
            return -1;
          return 219; /* addsi_1_zext */

        case PLUS:
          if (GET_MODE (x5) != SImode)
            return -1;
          x7 = XEXP (x5, 0);
          if (!ix86_carry_flag_operator (x7, SImode))
            return -1;
          operands[3] = x7;
          x8 = XEXP (x7, 0);
          if (GET_CODE (x8) != REG
              || REGNO (x8) != 17)
            return -1;
          x9 = XEXP (x7, 1);
          if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x10 = XEXP (x5, 1);
          operands[1] = x10;
          if (!register_operand (operands[1], SImode))
            return -1;
          x6 = XEXP (x4, 1);
          operands[2] = x6;
          if (!x86_64_general_operand (operands[2], SImode)
              || !
#line 6697 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (PLUS, SImode, operands)))
            return -1;
          return 299; /* *addsi3_carry_zext */

        case UNSPEC:
          if (XVECLEN (x5, 0) != 1
              || XINT (x5, 1) != 20
              || GET_MODE (x5) != SImode)
            return -1;
          x11 = XVECEXP (x5, 0, 0);
          if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x6 = XEXP (x4, 1);
          operands[1] = x6;
          if (!register_operand (operands[1], SImode)
              || !
#line 13802 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_X32))
            return -1;
          return 791; /* *add_tp_x32_zext */

        default:
          return -1;
        }

    case MINUS:
      if (GET_MODE (x4) != SImode
          || !register_operand (operands[0], DImode)
          || GET_MODE (x3) != DImode)
        return -1;
      x6 = XEXP (x4, 1);
      operands[2] = x6;
      if (!x86_64_general_operand (operands[2], SImode))
        return -1;
      x5 = XEXP (x4, 0);
      switch (GET_CODE (x5))
        {
        case REG:
        case SUBREG:
          operands[1] = x5;
          if (!register_operand (operands[1], SImode)
              || !
#line 6515 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (MINUS, SImode, operands)))
            return -1;
          return 275; /* *subsi_1_zext */

        case MINUS:
          if (GET_MODE (x5) != SImode)
            return -1;
          x10 = XEXP (x5, 1);
          if (!ix86_carry_flag_operator (x10, SImode))
            return -1;
          operands[3] = x10;
          x12 = XEXP (x10, 0);
          if (GET_CODE (x12) != REG
              || REGNO (x12) != 17)
            return -1;
          x13 = XEXP (x10, 1);
          if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x7 = XEXP (x5, 0);
          operands[1] = x7;
          if (!register_operand (operands[1], SImode)
              || !
#line 6754 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (MINUS, SImode, operands)))
            return -1;
          return 306; /* *subsi3_carry_zext */

        default:
          return -1;
        }

    case MULT:
      if (pattern500 (x3) != 0
          || !
#line 6972 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
        return -1;
      return 330; /* *mulsi3_1_zext */

    case AND:
      if (pattern500 (x3) != 0
          || !
#line 8223 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (AND, SImode, operands)))
        return -1;
      return 389; /* *andsi_1_zext */

    case IOR:
      if (pattern500 (x3) != 0
          || !
#line 8740 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (IOR, SImode, operands)))
        return -1;
      return 419; /* *iorsi_1_zext */

    case XOR:
      if (pattern500 (x3) != 0
          || !
#line 8740 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (XOR, SImode, operands)))
        return -1;
      return 420; /* *xorsi_1_zext */

    case ASHIFT:
      if (pattern501 (x3) != 0
          || !
#line 9746 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (ASHIFT, SImode, operands)))
        return -1;
      return 514; /* *ashlsi3_1_zext */

    case ASHIFTRT:
      if (GET_MODE (x4) != SImode
          || !register_operand (operands[0], DImode)
          || GET_MODE (x3) != DImode)
        return -1;
      x5 = XEXP (x4, 0);
      operands[1] = x5;
      x6 = XEXP (x4, 1);
      operands[2] = x6;
      if (const_int_operand (operands[2], QImode)
          && register_operand (operands[1], SImode)
          && 
#line 10246 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 538; /* *ashrsi3_cvt_zext */
      if (!nonmemory_operand (operands[2], QImode)
          || !nonimmediate_operand (operands[1], SImode)
          || !
#line 10372 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (ASHIFTRT, SImode, operands)))
        return -1;
      return 551; /* *ashrsi3_1_zext */

    case LSHIFTRT:
      if (pattern501 (x3) != 0
          || !
#line 10372 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (LSHIFTRT, SImode, operands)))
        return -1;
      return 550; /* *lshrsi3_1_zext */

    case ROTATE:
      if (pattern501 (x3) != 0
          || !
#line 10767 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (ROTATE, SImode, operands)))
        return -1;
      return 591; /* *rotlsi3_1_zext */

    case ROTATERT:
      if (pattern501 (x3) != 0
          || !
#line 10767 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (ROTATERT, SImode, operands)))
        return -1;
      return 592; /* *rotrsi3_1_zext */

    default:
      return -1;
    }
}

static int
recog_232 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
    case MEM:
      x5 = XEXP (x2, 0);
      switch (GET_CODE (x5))
        {
        case REG:
        case SUBREG:
        case MEM:
          operands[0] = x5;
          operands[1] = x4;
          x6 = XEXP (x3, 1);
          operands[2] = x6;
          x7 = XVECEXP (x1, 0, 1);
          switch (GET_CODE (x7))
            {
            case CLOBBER:
              x8 = XEXP (x7, 0);
              if (GET_CODE (x8) != REG
                  || REGNO (x8) != 17
                  || GET_MODE (x8) != CCmode)
                return -1;
              switch (GET_MODE (operands[0]))
                {
                case DImode:
                  if (!nonimmediate_operand (operands[0], DImode)
                      || GET_MODE (x3) != DImode
                      || !nonimmediate_operand (operands[1], DImode))
                    return -1;
                  if (x86_64_hilo_general_operand (operands[2], DImode)
                      && (
#line 6475 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (MINUS, SImode, operands)) && 
#line 1041 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT)))
                    return 269; /* *subdi3_doubleword */
                  if (!x86_64_general_operand (operands[2], DImode)
                      || !(
#line 6504 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (MINUS, DImode, operands)) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                    return -1;
                  return 274; /* *subdi_1 */

                case TImode:
                  if (pattern639 (x3, TImode) != 0
                      || !(
#line 6475 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (MINUS, DImode, operands)) && 
#line 1042 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                    return -1;
                  return 270; /* *subti3_doubleword */

                case QImode:
                  if (pattern174 (x3, QImode) != 0
                      || !
#line 6504 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (MINUS, QImode, operands)))
                    return -1;
                  return 271; /* *subqi_1 */

                case HImode:
                  if (pattern174 (x3, HImode) != 0
                      || !
#line 6504 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (MINUS, HImode, operands)))
                    return -1;
                  return 272; /* *subhi_1 */

                case SImode:
                  if (pattern175 (x3) != 0
                      || !
#line 6504 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (MINUS, SImode, operands)))
                    return -1;
                  return 273; /* *subsi_1 */

                default:
                  return -1;
                }

            case UNSPEC:
              if (XVECLEN (x7, 0) != 1
                  || XINT (x7, 1) != 173)
                return -1;
              switch (pattern546 (x1))
                {
                case 0:
                  if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MINUS, V16SFmode, operands) && 1 && (V16SFmode == V16SFmode
							      || V16SFmode == V8DFmode
							      || V16SFmode == V8DImode
							      || V16SFmode == V16SImode)) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
                    return -1;
                  return 1354; /* *subv16sf3_round */

                case 1:
                  if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MINUS, V8SFmode, operands) && 1 && (V8SFmode == V16SFmode
							      || V8SFmode == V8DFmode
							      || V8SFmode == V8DImode
							      || V8SFmode == V16SImode)) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
                    return -1;
                  return 1362; /* *subv8sf3_round */

                case 2:
                  if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 1561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MINUS, V4SFmode, operands) && 1 && (V4SFmode == V16SFmode
							      || V4SFmode == V8DFmode
							      || V4SFmode == V8DImode
							      || V4SFmode == V16SImode))))
                    return -1;
                  return 1370; /* *subv4sf3_round */

                case 3:
                  if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MINUS, V8DFmode, operands) && 1 && (V8DFmode == V16SFmode
							      || V8DFmode == V8DFmode
							      || V8DFmode == V8DImode
							      || V8DFmode == V16SImode)) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
                    return -1;
                  return 1378; /* *subv8df3_round */

                case 4:
                  if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MINUS, V4DFmode, operands) && 1 && (V4DFmode == V16SFmode
							      || V4DFmode == V8DFmode
							      || V4DFmode == V8DImode
							      || V4DFmode == V16SImode)) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
                    return -1;
                  return 1386; /* *subv4df3_round */

                case 5:
                  if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MINUS, V2DFmode, operands) && 1 && (V2DFmode == V16SFmode
							      || V2DFmode == V8DFmode
							      || V2DFmode == V8DImode
							      || V2DFmode == V16SImode)) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))))
                    return -1;
                  return 1394; /* *subv2df3_round */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case STRICT_LOW_PART:
          if (pattern178 (x1) != 0
              || !
#line 6525 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((! TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
            return -1;
          return 276; /* *subqi_1_slp */

        default:
          return -1;
        }

    case MINUS:
      x9 = XEXP (x4, 1);
      switch (GET_CODE (x9))
        {
        case GE:
        case GT:
        case LE:
        case LT:
        case GTU:
        case LTU:
        case UNEQ:
        case UNGE:
        case UNGT:
        case UNLE:
        case UNLT:
        case LTGT:
          operands[4] = x9;
          x10 = XEXP (x9, 1);
          if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
              || pattern182 (x1) != 0)
            return -1;
          x11 = XEXP (x9, 0);
          operands[3] = x11;
          if (!flags_reg_operand (operands[3], VOIDmode))
            return -1;
          x6 = XEXP (x3, 1);
          operands[2] = x6;
          switch (GET_MODE (operands[0]))
            {
            case QImode:
              if (pattern792 (x3, QImode) != 0
                  || !
#line 6737 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (MINUS, QImode, operands)))
                return -1;
              return 302; /* subqi3_carry */

            case HImode:
              if (pattern792 (x3, HImode) != 0
                  || !
#line 6737 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (MINUS, HImode, operands)))
                return -1;
              return 303; /* subhi3_carry */

            case SImode:
              if (pattern793 (x3, SImode) != 0
                  || !
#line 6737 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (MINUS, SImode, operands)))
                return -1;
              return 304; /* subsi3_carry */

            case DImode:
              if (pattern793 (x3, DImode) != 0
                  || !(
#line 6737 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (MINUS, DImode, operands)) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              return 305; /* subdi3_carry */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case CONST_INT:
      x6 = XEXP (x3, 1);
      if (GET_CODE (x6) != CLZ
          || pattern114 (x1) != 0)
        return -1;
      x12 = XEXP (x6, 0);
      operands[1] = x12;
      switch (XWINT (x4, 0))
        {
        case 63LL:
          if (pattern619 (x3, DImode) != 0
              || !
#line 12801 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
            return -1;
          return 707; /* bsr_rex64 */

        case 31LL:
          if (pattern619 (x3, SImode) != 0)
            return -1;
          return 708; /* bsr */

        case 15LL:
          if (pattern619 (x3, HImode) != 0)
            return -1;
          return 709; /* *bsrhi */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_233 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  operands[0] = x3;
  x4 = XEXP (x2, 1);
  x5 = XEXP (x4, 0);
  switch (GET_CODE (x5))
    {
    case REG:
    case SUBREG:
    case MEM:
      x6 = XVECEXP (x1, 0, 1);
      switch (GET_CODE (x6))
        {
        case CLOBBER:
          x7 = XEXP (x6, 0);
          if (GET_CODE (x7) != REG
              || REGNO (x7) != 17
              || GET_MODE (x7) != CCmode)
            return -1;
          operands[1] = x5;
          x8 = XEXP (x4, 1);
          operands[2] = x8;
          switch (GET_MODE (operands[0]))
            {
            case HImode:
              if (!register_operand (operands[0], HImode)
                  || GET_MODE (x4) != HImode
                  || !nonimmediate_operand (operands[1], HImode)
                  || !general_operand (operands[2], HImode)
                  || !(
#line 6936 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
#line 1012 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_HIMODE_MATH)))
                return -1;
              return 327; /* *mulhi3_1 */

            case SImode:
              if (pattern620 (x4, SImode) != 0
                  || !
#line 6936 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))))
                return -1;
              return 328; /* *mulsi3_1 */

            case DImode:
              if (pattern620 (x4, DImode) != 0
                  || !(
#line 6936 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
#line 1013 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              return 329; /* *muldi3_1 */

            case QImode:
              if (!register_operand (operands[0], QImode)
                  || GET_MODE (x4) != QImode
                  || !nonimmediate_operand (operands[1], QImode)
                  || !nonimmediate_operand (operands[2], QImode)
                  || !
#line 7006 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_QIMODE_MATH
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
                return -1;
              return 331; /* *mulqi3_1 */

            default:
              return -1;
            }

        case SET:
          x9 = XEXP (x6, 1);
          if (GET_CODE (x9) != TRUNCATE)
            return -1;
          x10 = XEXP (x9, 0);
          if (GET_CODE (x10) != LSHIFTRT)
            return -1;
          x11 = XEXP (x10, 0);
          if (GET_CODE (x11) != MULT)
            return -1;
          x12 = XEXP (x11, 0);
          if (GET_CODE (x12) != ZERO_EXTEND)
            return -1;
          x13 = XEXP (x11, 1);
          if (GET_CODE (x13) != ZERO_EXTEND)
            return -1;
          operands[2] = x5;
          x8 = XEXP (x4, 1);
          operands[3] = x8;
          x7 = XEXP (x6, 0);
          operands[1] = x7;
          x14 = XEXP (x10, 1);
          operands[4] = x14;
          if (!const_int_operand (operands[4], QImode))
            return -1;
          x15 = XEXP (x12, 0);
          if (!rtx_equal_p (x15, operands[2]))
            return -1;
          x16 = XEXP (x13, 0);
          if (!rtx_equal_p (x16, operands[3]))
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case SImode:
              if (pattern824 (x1, DImode, SImode) != 0
                  || !(
#line 7267 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI2 && INTVAL (operands[4]) == 4 * BITS_PER_UNIT
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
#line 1041 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT)))
                return -1;
              return 343; /* *bmi2_umulsidi3_1 */

            case DImode:
              if (pattern824 (x1, TImode, DImode) != 0
                  || !(
#line 7267 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI2 && INTVAL (operands[4]) == 8 * BITS_PER_UNIT
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
#line 1042 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              return 344; /* *bmi2_umulditi3_1 */

            default:
              return -1;
            }

        case UNSPEC:
          if (XVECLEN (x6, 0) != 1
              || XINT (x6, 1) != 173)
            return -1;
          operands[1] = x5;
          x8 = XEXP (x4, 1);
          operands[2] = x8;
          switch (pattern546 (x1))
            {
            case 0:
              if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1600 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MULT, V16SFmode, operands) && 1 && (V16SFmode == V16SFmode
							      || V16SFmode == V8DFmode
							      || V16SFmode == V8DImode
							      || V16SFmode == V16SImode)) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
                return -1;
              return 1406; /* *mulv16sf3_round */

            case 1:
              if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1600 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MULT, V8SFmode, operands) && 1 && (V8SFmode == V16SFmode
							      || V8SFmode == V8DFmode
							      || V8SFmode == V8DImode
							      || V8SFmode == V16SImode)) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
                return -1;
              return 1410; /* *mulv8sf3_round */

            case 2:
              if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 1600 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MULT, V4SFmode, operands) && 1 && (V4SFmode == V16SFmode
							      || V4SFmode == V8DFmode
							      || V4SFmode == V8DImode
							      || V4SFmode == V16SImode))))
                return -1;
              return 1414; /* *mulv4sf3_round */

            case 3:
              if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1600 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MULT, V8DFmode, operands) && 1 && (V8DFmode == V16SFmode
							      || V8DFmode == V8DFmode
							      || V8DFmode == V8DImode
							      || V8DFmode == V16SImode)) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
                return -1;
              return 1418; /* *mulv8df3_round */

            case 4:
              if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1600 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MULT, V4DFmode, operands) && 1 && (V4DFmode == V16SFmode
							      || V4DFmode == V8DFmode
							      || V4DFmode == V8DImode
							      || V4DFmode == V16SImode)) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
                return -1;
              return 1422; /* *mulv4df3_round */

            case 5:
              if (!(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1600 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (MULT, V2DFmode, operands) && 1 && (V2DFmode == V16SFmode
							      || V2DFmode == V8DFmode
							      || V2DFmode == V8DImode
							      || V2DFmode == V16SImode)) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))))
                return -1;
              return 1426; /* *mulv2df3_round */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case ZERO_EXTEND:
      switch (pattern252 (x1, ZERO_EXTEND))
        {
        case 0:
          if (!(
#line 7282 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
#line 1041 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT)))
            return -1;
          return 345; /* *umulsidi3_1 */

        case 1:
          if (!(
#line 7282 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
#line 1042 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          return 346; /* *umulditi3_1 */

        case 2:
          if (!
#line 7353 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_QIMODE_MATH
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
            return -1;
          return 350; /* *umulqihi3_1 */

        default:
          return -1;
        }

    case SIGN_EXTEND:
      switch (pattern252 (x1, SIGN_EXTEND))
        {
        case 0:
          if (!(
#line 7333 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
#line 1041 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT)))
            return -1;
          return 347; /* *mulsidi3_1 */

        case 1:
          if (!(
#line 7333 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
#line 1042 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          return 348; /* *mulditi3_1 */

        case 2:
          if (!
#line 7353 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_QIMODE_MATH
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
            return -1;
          return 349; /* *mulqihi3_1 */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_234 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case NEG:
      if (GET_MODE (x4) != DImode)
        return -1;
      x5 = XEXP (x4, 0);
      if (GET_CODE (x5) != ASHIFT
          || GET_MODE (x5) != DImode)
        return -1;
      x6 = XEXP (x5, 1);
      if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 32])
        return -1;
      x7 = XEXP (x3, 1);
      if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 32])
        return -1;
      x8 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x8) != CLOBBER)
        return -1;
      x9 = XEXP (x8, 0);
      if (GET_CODE (x9) != REG
          || REGNO (x9) != 17
          || GET_MODE (x9) != CCmode)
        return -1;
      x10 = XEXP (x2, 0);
      operands[0] = x10;
      if (!register_operand (operands[0], DImode)
          || GET_MODE (x3) != DImode)
        return -1;
      x11 = XEXP (x5, 0);
      operands[1] = x11;
      if (!register_operand (operands[1], DImode)
          || !
#line 9048 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_unary_operator_ok (NEG, SImode, operands)))
        return -1;
      return 460; /* *negsi2_1_zext */

    case REG:
    case SUBREG:
    case MEM:
      operands[1] = x4;
      res = recog_212 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      x8 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x8) != CLOBBER)
        return -1;
      x9 = XEXP (x8, 0);
      if (GET_CODE (x9) != REG
          || REGNO (x9) != 17
          || GET_MODE (x9) != CCmode)
        return -1;
      x7 = XEXP (x3, 1);
      if (!nonmemory_operand (x7, QImode))
        return -1;
      x10 = XEXP (x2, 0);
      switch (GET_CODE (x10))
        {
        case REG:
        case SUBREG:
        case MEM:
          operands[0] = x10;
          operands[1] = x4;
          operands[2] = x7;
          switch (GET_MODE (operands[0]))
            {
            case DImode:
              if (GET_MODE (x3) != DImode)
                return -1;
              if (register_operand (operands[0], DImode)
                  && register_operand (operands[1], DImode)
                  && 
#line 1016 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT))
                return 531; /* *lshrdi3_doubleword */
              if (!nonimmediate_operand (operands[0], DImode)
                  || !nonimmediate_operand (operands[1], DImode)
                  || !(
#line 10319 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (LSHIFTRT, DImode, operands)) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              return 546; /* *lshrdi3_1 */

            case TImode:
              if (!register_operand (operands[0], TImode)
                  || GET_MODE (x3) != TImode
                  || !register_operand (operands[1], TImode)
                  || !
#line 1017 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
                return -1;
              return 533; /* *lshrti3_doubleword */

            case SImode:
              if (!nonimmediate_operand (operands[0], SImode)
                  || GET_MODE (x3) != SImode
                  || !nonimmediate_operand (operands[1], SImode)
                  || !
#line 10319 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (LSHIFTRT, SImode, operands)))
                return -1;
              return 544; /* *lshrsi3_1 */

            case QImode:
              if (!nonimmediate_operand (operands[0], QImode)
                  || GET_MODE (x3) != QImode
                  || !nonimmediate_operand (operands[1], QImode)
                  || !
#line 10416 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (LSHIFTRT, QImode, operands)))
                return -1;
              return 552; /* *lshrqi3_1 */

            case HImode:
              if (!nonimmediate_operand (operands[0], HImode)
                  || GET_MODE (x3) != HImode
                  || !nonimmediate_operand (operands[1], HImode)
                  || !
#line 10416 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (LSHIFTRT, HImode, operands)))
                return -1;
              return 554; /* *lshrhi3_1 */

            default:
              return -1;
            }

        case STRICT_LOW_PART:
          x12 = XEXP (x10, 0);
          operands[0] = x12;
          if (!nonimmediate_operand (operands[0], QImode)
              || GET_MODE (x3) != QImode)
            return -1;
          operands[1] = x7;
          if (!rtx_equal_p (x4, operands[0])
              || !
#line 10439 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_REG_STALL
    || (operands[1] == const1_rtx
	&& TARGET_SHIFT1))))
            return -1;
          return 556; /* *lshrqi3_1_slp */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_235 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != UNSPEC
      || XVECLEN (x2, 0) != 1
      || XINT (x2, 1) != 173)
    return -1;
  x3 = XVECEXP (x1, 0, 0);
  x4 = XEXP (x3, 0);
  operands[0] = x4;
  x5 = XEXP (x3, 1);
  x6 = XEXP (x5, 1);
  operands[2] = x6;
  x7 = XVECEXP (x2, 0, 0);
  operands[4] = x7;
  if (!const_4_or_8_to_11_operand (operands[4], SImode))
    return -1;
  x8 = XEXP (x5, 0);
  switch (GET_CODE (x8))
    {
    case REG:
    case SUBREG:
      operands[1] = x8;
      x9 = XEXP (x5, 2);
      switch (GET_CODE (x9))
        {
        case REG:
        case SUBREG:
          operands[3] = x9;
          switch (GET_MODE (operands[0]))
            {
            case V16SFmode:
              if (pattern742 (x5, V16SFmode) != 0
                  || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3625 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && (V16SFmode == V16SFmode
							      || V16SFmode == V8DFmode
							      || V16SFmode == V8DImode
							      || V16SFmode == V16SImode))))
                return -1;
              return 1797; /* *fma_fmadd_v16sf_round */

            case V8DFmode:
              if (pattern742 (x5, V8DFmode) != 0
                  || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3625 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && (V8DFmode == V16SFmode
							      || V8DFmode == V8DFmode
							      || V8DFmode == V8DImode
							      || V8DFmode == V16SImode))))
                return -1;
              return 1806; /* *fma_fmadd_v8df_round */

            default:
              return -1;
            }

        case NEG:
          x10 = XEXP (x9, 0);
          operands[3] = x10;
          switch (GET_MODE (operands[0]))
            {
            case V16SFmode:
              if (pattern743 (x5, V16SFmode) != 0
                  || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3690 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && (V16SFmode == V16SFmode
							      || V16SFmode == V8DFmode
							      || V16SFmode == V8DImode
							      || V16SFmode == V16SImode))))
                return -1;
              return 1841; /* *fma_fmsub_v16sf_round */

            case V8DFmode:
              if (pattern743 (x5, V8DFmode) != 0
                  || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3690 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && (V8DFmode == V16SFmode
							      || V8DFmode == V8DFmode
							      || V8DFmode == V8DImode
							      || V8DFmode == V16SImode))))
                return -1;
              return 1850; /* *fma_fmsub_v8df_round */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case NEG:
      x11 = XEXP (x8, 0);
      operands[1] = x11;
      x9 = XEXP (x5, 2);
      switch (GET_CODE (x9))
        {
        case REG:
        case SUBREG:
          operands[3] = x9;
          switch (GET_MODE (operands[0]))
            {
            case V16SFmode:
              if (pattern744 (x5, V16SFmode) != 0
                  || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3757 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && (V16SFmode == V16SFmode
							      || V16SFmode == V8DFmode
							      || V16SFmode == V8DImode
							      || V16SFmode == V16SImode))))
                return -1;
              return 1885; /* *fma_fnmadd_v16sf_round */

            case V8DFmode:
              if (pattern744 (x5, V8DFmode) != 0
                  || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3757 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && (V8DFmode == V16SFmode
							      || V8DFmode == V8DFmode
							      || V8DFmode == V8DImode
							      || V8DFmode == V16SImode))))
                return -1;
              return 1894; /* *fma_fnmadd_v8df_round */

            default:
              return -1;
            }

        case NEG:
          x10 = XEXP (x9, 0);
          operands[3] = x10;
          switch (GET_MODE (operands[0]))
            {
            case SFmode:
              if (pattern745 (x5, SFmode) != 0
                  || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3807 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4)))
                return -1;
              return 1918; /* *fma_fnmsub_sf */

            case DFmode:
              if (pattern745 (x5, DFmode) != 0
                  || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3807 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4)))
                return -1;
              return 1920; /* *fma_fnmsub_df */

            case V4SFmode:
              if (pattern745 (x5, V4SFmode) != 0
                  || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3807 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4)))
                return -1;
              return 1922; /* *fma_fnmsub_v4sf */

            case V2DFmode:
              if (pattern745 (x5, V2DFmode) != 0
                  || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3807 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4)))
                return -1;
              return 1926; /* *fma_fnmsub_v2df */

            case V8SFmode:
              if (pattern745 (x5, V8SFmode) != 0
                  || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3807 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4)))
                return -1;
              return 1930; /* *fma_fnmsub_v8sf */

            case V4DFmode:
              if (pattern745 (x5, V4DFmode) != 0
                  || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3807 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_FMA || TARGET_FMA4)))
                return -1;
              return 1934; /* *fma_fnmsub_v4df */

            case V16SFmode:
              if (pattern746 (x5, V16SFmode) != 0
                  || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3826 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && (V16SFmode == V16SFmode
							      || V16SFmode == V8DFmode
							      || V16SFmode == V8DImode
							      || V16SFmode == V16SImode))))
                return -1;
              return 1939; /* *fma_fnmsub_v16sf_round */

            case V8DFmode:
              if (pattern746 (x5, V8DFmode) != 0
                  || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 3826 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && 1 && (V8DFmode == V16SFmode
							      || V8DFmode == V8DFmode
							      || V8DFmode == V8DImode
							      || V8DFmode == V16SImode))))
                return -1;
              return 1948; /* *fma_fnmsub_v8df_round */

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_236 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  operands[0] = x3;
  x4 = XEXP (x2, 1);
  x5 = XEXP (x4, 0);
  switch (GET_CODE (x5))
    {
    case REG:
    case SUBREG:
      operands[1] = x5;
      x6 = XVECEXP (x1, 0, 1);
      switch (GET_CODE (x6))
        {
        case CLOBBER:
          if (!register_operand (operands[1], VOIDmode))
            return -1;
          x7 = XEXP (x6, 0);
          switch (GET_CODE (x7))
            {
            case REG:
            case SCRATCH:
              operands[2] = x7;
              if (scratch_operand (operands[2], XFmode))
                {
                  switch (GET_MODE (operands[0]))
                    {
                    case HImode:
                      if (memory_operand (operands[0], HImode)
                          && GET_MODE (x4) == HImode
                          && 
#line 4906 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 177; /* fix_trunchi_i387_fisttp */
                      break;

                    case SImode:
                      if (memory_operand (operands[0], SImode)
                          && GET_MODE (x4) == SImode
                          && 
#line 4906 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 178; /* fix_truncsi_i387_fisttp */
                      break;

                    case DImode:
                      if (memory_operand (operands[0], DImode)
                          && GET_MODE (x4) == DImode
                          && 
#line 4906 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 179; /* fix_truncdi_i387_fisttp */
                      break;

                    default:
                      break;
                    }
                }
              if (GET_CODE (x7) != REG
                  || REGNO (x7) != 17
                  || GET_MODE (x7) != CCmode)
                return -1;
              switch (pattern261 (x4))
                {
                case 0:
                  if (!
#line 4957 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
                  return 183; /* *fix_trunchi_i387_1 */

                case 1:
                  if (!
#line 4957 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
                  return 184; /* *fix_truncsi_i387_1 */

                case 2:
                  if (!
#line 4957 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
                  return 185; /* *fix_truncdi_i387_1 */

                default:
                  return -1;
                }

            case SUBREG:
            case MEM:
              if (pnum_clobbers == NULL)
                return -1;
              operands[2] = x7;
              switch (pattern578 (x4))
                {
                case 0:
                  if (!
#line 4920 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
                  *pnum_clobbers = 1;
                  return 180; /* fix_trunchi_i387_fisttp_with_temp */

                case 1:
                  if (!
#line 4920 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
                  *pnum_clobbers = 1;
                  return 181; /* fix_truncsi_i387_fisttp_with_temp */

                case 2:
                  if (!
#line 4920 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
                  *pnum_clobbers = 1;
                  return 182; /* fix_truncdi_i387_fisttp_with_temp */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case UNSPEC:
          if (XVECLEN (x6, 0) != 1
              || XINT (x6, 1) != 173)
            return -1;
          switch (pattern502 (x1))
            {
            case 0:
              if (!
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                return -1;
              return 2172; /* fix_truncv16sfv16si2_round */

            case 1:
              if (!
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                return -1;
              return 2291; /* fix_truncv8dfv8si2_round */

            case 2:
              if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 5164 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && (V8DFmode == V16SFmode
									      || V8DFmode == V8DFmode
									      || V8DFmode == V8DImode
									      || V8DFmode == V16SImode))))
                return -1;
              return 2305; /* fix_truncv8dfv8di2_round */

            case 3:
              if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 5196 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && (V8SFmode == V8SFmode))))
                return -1;
              return 2337; /* fix_truncv8sfv8di2_round */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case VEC_SELECT:
      switch (pattern250 (x1))
        {
        case 0:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 4352 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE)))
            return -1;
          return 2105; /* sse_cvttss2si_round */

        case 1:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 4848 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
            return -1;
          return 2212; /* sse2_cvttsd2si_round */

        case 2:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 4368 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && TARGET_64BIT)))
            return -1;
          return 2107; /* sse_cvttss2siq_round */

        case 3:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 4865 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && TARGET_64BIT)))
            return -1;
          return 2214; /* sse2_cvttsd2siq_round */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_237 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != MEM
      || GET_MODE (x4) != QImode)
    return -1;
  x5 = XEXP (x2, 0);
  operands[0] = x5;
  x6 = XVECEXP (x1, 0, 1);
  switch (GET_CODE (x6))
    {
    case UNSPEC:
      switch (XVECLEN (x6, 0))
        {
        case 1:
          x7 = XEXP (x4, 0);
          operands[1] = x7;
          x8 = XEXP (x3, 1);
          operands[2] = x8;
          switch (XINT (x6, 1))
            {
            case 39:
              x9 = XVECEXP (x6, 0, 0);
              if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                return -1;
              switch (GET_MODE (operands[1]))
                {
                case SImode:
                  if (!memory_operand (operands[1], SImode)
                      || !(
#line 12079 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_X32 && !ix86_indirect_branch_register) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode)))
                    return -1;
                  return 671; /* *sibcall_value_memory */

                case DImode:
                  if (!memory_operand (operands[1], DImode)
                      || !(
#line 12079 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_X32 && !ix86_indirect_branch_register) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode)))
                    return -1;
                  return 672; /* *sibcall_value_memory */

                default:
                  return -1;
                }

            case 22:
              x9 = XVECEXP (x6, 0, 0);
              if (GET_CODE (x9) != REG
                  || REGNO (x9) != 7
                  || !constant_call_address_operand (operands[1], VOIDmode))
                return -1;
              switch (GET_MODE (operands[0]))
                {
                case SImode:
                  if (pattern736 (x1, SImode) != 0
                      || !(
#line 13674 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  return 783; /* *tls_local_dynamic_base_64_si */

                case DImode:
                  if (pattern736 (x1, DImode) != 0
                      || !(
#line 13674 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  return 784; /* *tls_local_dynamic_base_64_di */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case 2:
          if (XINT (x6, 1) != 21)
            return -1;
          x10 = XVECEXP (x6, 0, 1);
          if (GET_CODE (x10) != REG
              || REGNO (x10) != 7)
            return -1;
          x7 = XEXP (x4, 0);
          operands[2] = x7;
          if (!constant_call_address_operand (operands[2], VOIDmode))
            return -1;
          x8 = XEXP (x3, 1);
          operands[3] = x8;
          x9 = XVECEXP (x6, 0, 0);
          operands[1] = x9;
          if (!tls_symbolic_operand (operands[1], VOIDmode))
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case SImode:
              if (pattern797 (x1, SImode) != 0
                  || !(
#line 13570 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return -1;
              return 780; /* *tls_global_dynamic_64_si */

            case DImode:
              if (pattern797 (x1, DImode) != 0
                  || !(
#line 13570 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return -1;
              return 781; /* *tls_global_dynamic_64_di */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case SET:
      x11 = XEXP (x6, 1);
      if (pattern392 (x11) != 0)
        return -1;
      x12 = XEXP (x6, 0);
      if (GET_CODE (x12) != REG
          || REGNO (x12) != 7
          || GET_MODE (x12) != SImode)
        return -1;
      x7 = XEXP (x4, 0);
      operands[1] = x7;
      x8 = XEXP (x3, 1);
      operands[2] = x8;
      x13 = XEXP (x11, 1);
      operands[3] = x13;
      if (!immediate_operand (operands[3], SImode))
        return -1;
      if (call_insn_operand (operands[1], SImode)
          && 
#line 12138 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && !SIBLING_CALL_P (insn)))
        return 673; /* *call_value_pop */
      if (!sibcall_insn_operand (operands[1], SImode)
          || !
#line 12149 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && SIBLING_CALL_P (insn)))
        return -1;
      return 674; /* *sibcall_value_pop */

    default:
      return -1;
    }
}

static int
recog_238 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19, x20, x21;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != UNSPEC
      || XVECLEN (x4, 0) != 4
      || XINT (x4, 1) != 146)
    return -1;
  x5 = XVECEXP (x4, 0, 1);
  if (GET_CODE (x5) != MEM)
    return -1;
  x6 = XEXP (x5, 0);
  if (GET_CODE (x6) != UNSPEC
      || XVECLEN (x6, 0) != 3
      || XINT (x6, 1) != 147)
    return -1;
  x7 = XVECEXP (x4, 0, 2);
  if (GET_CODE (x7) != MEM
      || GET_MODE (x7) != BLKmode)
    return -1;
  x8 = XEXP (x7, 0);
  if (GET_CODE (x8) != SCRATCH)
    return -1;
  x9 = XEXP (x3, 1);
  if (GET_CODE (x9) != PARALLEL
      || XVECLEN (x9, 0) != 4)
    return -1;
  x10 = XVECEXP (x9, 0, 0);
  if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x11 = XVECEXP (x9, 0, 1);
  if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return -1;
  x12 = XVECEXP (x9, 0, 2);
  if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
    return -1;
  x13 = XVECEXP (x9, 0, 3);
  if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
    return -1;
  x14 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x14) != CLOBBER)
    return -1;
  x15 = XEXP (x2, 0);
  operands[0] = x15;
  x16 = XVECEXP (x6, 0, 1);
  if (!register_operand (x16, V4DImode))
    return -1;
  x17 = XVECEXP (x6, 0, 2);
  if (!const1248_operand (x17, SImode))
    return -1;
  x18 = XEXP (x14, 0);
  operands[1] = x18;
  x19 = XVECEXP (x4, 0, 0);
  switch (GET_CODE (x19))
    {
    case REG:
    case SUBREG:
      operands[2] = x19;
      operands[7] = x5;
      x20 = XVECEXP (x6, 0, 0);
      operands[3] = x20;
      operands[4] = x16;
      operands[6] = x17;
      x21 = XVECEXP (x4, 0, 3);
      operands[5] = x21;
      switch (GET_MODE (operands[0]))
        {
        case V4SImode:
          switch (pattern970 (x3, V8SImode, V4SImode, SImode))
            {
            case 0:
              if (!(
#line 19127 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return -1;
              return 4613; /* *avx2_gatherdiv8si_3 */

            case 1:
              if (!(
#line 19127 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return -1;
              return 4614; /* *avx2_gatherdiv8si_3 */

            default:
              return -1;
            }

        case V4SFmode:
          switch (pattern970 (x3, V8SFmode, V4SFmode, SFmode))
            {
            case 0:
              if (!(
#line 19127 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return -1;
              return 4615; /* *avx2_gatherdiv8sf_3 */

            case 1:
              if (!(
#line 19127 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return -1;
              return 4616; /* *avx2_gatherdiv8sf_3 */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case PC:
      operands[6] = x5;
      x20 = XVECEXP (x6, 0, 0);
      operands[2] = x20;
      operands[3] = x16;
      operands[5] = x17;
      x21 = XVECEXP (x4, 0, 3);
      operands[4] = x21;
      switch (GET_MODE (operands[0]))
        {
        case V4SImode:
          switch (pattern967 (x3, V8SImode, V4SImode, SImode))
            {
            case 0:
              if (!(
#line 19150 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return -1;
              return 4617; /* *avx2_gatherdiv8si_4 */

            case 1:
              if (!(
#line 19150 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return -1;
              return 4618; /* *avx2_gatherdiv8si_4 */

            default:
              return -1;
            }

        case V4SFmode:
          switch (pattern967 (x3, V8SFmode, V4SFmode, SFmode))
            {
            case 0:
              if (!(
#line 19150 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return -1;
              return 4619; /* *avx2_gatherdiv8sf_4 */

            case 1:
              if (!(
#line 19150 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return -1;
              return 4620; /* *avx2_gatherdiv8sf_4 */

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_239 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (pattern115 (x2, CCmode, 17) != 0)
    return -1;
  x3 = XVECEXP (x1, 0, 0);
  x4 = XEXP (x3, 0);
  operands[0] = x4;
  x5 = XEXP (x3, 1);
  x6 = XEXP (x5, 0);
  operands[1] = x6;
  x7 = XEXP (x5, 1);
  switch (GET_CODE (x7))
    {
    case SUBREG:
      switch (pattern552 (x5))
        {
        case 0:
          if (
#line 10148 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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
   && can_create_pseudo_p ()))
            return 528; /* *ashrsi3_mask */
          break;

        case 1:
          if ((
#line 10148 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ASHIFTRT, DImode, operands)
   && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
      == GET_MODE_BITSIZE (DImode)-1
   && can_create_pseudo_p ()) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return 530; /* *ashrdi3_mask */
          break;

        default:
          break;
        }
      break;

    case CONST_INT:
      operands[2] = x7;
      if (const_int_operand (operands[2], QImode)
          && nonimmediate_operand (operands[0], SImode)
          && GET_MODE (x5) == SImode
          && nonimmediate_operand (operands[1], SImode)
          && 
#line 10263 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 539; /* ashrsi3_cvt */
      break;

    default:
      break;
    }
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
    case MEM:
      operands[0] = x4;
      operands[1] = x6;
      operands[2] = x7;
      switch (GET_MODE (operands[0]))
        {
        case DImode:
          if (GET_MODE (x5) != DImode)
            return -1;
          if (register_operand (operands[0], DImode)
              && register_operand (operands[1], DImode)
              && nonmemory_operand (operands[2], QImode)
              && 
#line 1016 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT))
            return 532; /* *ashrdi3_doubleword */
          if (!nonimmediate_operand (operands[0], DImode)
              || !nonimmediate_operand (operands[1], DImode))
            return -1;
          if (const_int_operand (operands[2], QImode)
              && 
#line 10228 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 537; /* ashrdi3_cvt */
          if (!nonmemory_operand (operands[2], QImode)
              || !(
#line 10319 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ASHIFTRT, DImode, operands)) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          return 547; /* *ashrdi3_1 */

        case TImode:
          if (pattern586 (x5) != 0
              || !
#line 1017 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
            return -1;
          return 534; /* *ashrti3_doubleword */

        case SImode:
          if (pattern629 (x5, SImode) != 0
              || !
#line 10319 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ASHIFTRT, SImode, operands)))
            return -1;
          return 545; /* *ashrsi3_1 */

        case QImode:
          if (pattern629 (x5, QImode) != 0
              || !
#line 10416 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ASHIFTRT, QImode, operands)))
            return -1;
          return 553; /* *ashrqi3_1 */

        case HImode:
          if (pattern629 (x5, HImode) != 0
              || !
#line 10416 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ASHIFTRT, HImode, operands)))
            return -1;
          return 555; /* *ashrhi3_1 */

        default:
          return -1;
        }

    case STRICT_LOW_PART:
      if (pattern445 (x3) != 0
          || !
#line 10439 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_REG_STALL
    || (operands[1] == const1_rtx
	&& TARGET_SHIFT1))))
        return -1;
      return 557; /* *ashrqi3_1_slp */

    default:
      return -1;
    }
}

static int
recog_240 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case ZERO_EXTRACT:
      if (GET_MODE (x4) != DImode)
        return -1;
      x5 = XEXP (x4, 1);
      if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
        return -1;
      x6 = XEXP (x2, 0);
      if (GET_CODE (x6) != ZERO_EXTRACT
          || GET_MODE (x6) != DImode)
        return -1;
      x7 = XEXP (x6, 1);
      if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
        return -1;
      x8 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x8) != CLOBBER)
        return -1;
      x9 = XEXP (x8, 0);
      if (GET_CODE (x9) != REG
          || REGNO (x9) != 17
          || GET_MODE (x9) != CCmode)
        return -1;
      x10 = XEXP (x6, 0);
      operands[0] = x10;
      if (!register_operand (operands[0], DImode))
        return -1;
      x11 = XEXP (x6, 2);
      operands[1] = x11;
      if (!const_0_to_63_operand (operands[1], VOIDmode)
          || GET_MODE (x3) != DImode)
        return -1;
      x12 = XEXP (x4, 0);
      if (!rtx_equal_p (x12, operands[0]))
        return -1;
      x13 = XEXP (x4, 2);
      if (!rtx_equal_p (x13, operands[1])
          || !
#line 10926 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && (TARGET_USE_BT || reload_completed)))
        return -1;
      return 601; /* *btcq */

    case XOR:
      if (pattern183 (x1, 170) != 0)
        return -1;
      x12 = XEXP (x4, 0);
      operands[1] = x12;
      x5 = XEXP (x4, 1);
      operands[2] = x5;
      switch (GET_MODE (operands[0]))
        {
        case QImode:
          if (pattern630 (x3, QImode) != 0
              || !
#line 1373 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 1312; /* kxnorqi */

        case HImode:
          if (pattern630 (x3, HImode) != 0
              || !
#line 1373 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 1313; /* kxnorhi */

        case SImode:
          if (pattern630 (x3, SImode) != 0
              || !(
#line 1373 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1308 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 1314; /* kxnorsi */

        case DImode:
          if (pattern630 (x3, DImode) != 0
              || !(
#line 1373 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1308 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 1315; /* kxnordi */

        default:
          return -1;
        }

    case REG:
    case SUBREG:
      operands[1] = x4;
      if (pattern183 (x1, 170) != 0)
        return -1;
      switch (pattern553 (x3))
        {
        case 0:
          if (!
#line 1394 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 1316; /* knotqi */

        case 1:
          if (!
#line 1394 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 1317; /* knothi */

        case 2:
          if (!(
#line 1394 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1308 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 1318; /* knotsi */

        case 3:
          if (!(
#line 1394 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1308 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 1319; /* knotdi */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_241 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
    case MEM:
      switch (pattern179 (x1))
        {
        case 0:
          if (x86_64_szext_general_operand (operands[2], DImode)
              && 
#line 8686 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_STV && TARGET_SSE2
   && ix86_binary_operator_ok (XOR, DImode, operands)))
            return 412; /* *xordi3_doubleword */
          if (!x86_64_general_operand (operands[2], DImode)
              || !(
#line 8728 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (XOR, DImode, operands)) && 
#line 986 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          return 418; /* *xordi_1 */

        case 1:
          if (!
#line 8728 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (XOR, HImode, operands)))
            return -1;
          return 414; /* *xorhi_1 */

        case 2:
          if (!
#line 8728 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (XOR, SImode, operands)))
            return -1;
          return 416; /* *xorsi_1 */

        case 3:
          if (!
#line 8761 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (XOR, QImode, operands)))
            return -1;
          return 424; /* *xorqi_1 */

        case 4:
          if (!
#line 1327 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 1298; /* kxorqi */

        case 5:
          if (!
#line 1327 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 1301; /* kxorhi */

        case 6:
          if (!(
#line 1327 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1308 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 1304; /* kxorsi */

        case 7:
          if (!(
#line 1327 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 1308 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 1307; /* kxordi */

        case 8:
          if (!
#line 8779 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
            return -1;
          return 426; /* *xorqi_1_slp */

        default:
          return -1;
        }

    case ZERO_EXTEND:
      if (pattern180 (x1) != 0
          || !
#line 8751 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && ix86_binary_operator_ok (XOR, SImode, operands)))
        return -1;
      return 422; /* *xorsi_1_zext_imm */

    case PLUS:
      x5 = XEXP (x4, 1);
      if (GET_CODE (x5) != CONST_INT
          || pattern182 (x1) != 0)
        return -1;
      x6 = XEXP (x3, 1);
      if (!rtx_equal_p (x6, operands[1]))
        return -1;
      switch (XWINT (x5, 0))
        {
        case -1LL:
          switch (GET_MODE (operands[0]))
            {
            case SImode:
              if (pattern621 (x3, SImode) != 0
                  || !
#line 13002 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI))
                return -1;
              return 730; /* *bmi_blsmsk_si */

            case DImode:
              if (pattern621 (x3, DImode) != 0
                  || !(
#line 13002 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              return 731; /* *bmi_blsmsk_di */

            default:
              return -1;
            }

        case 1LL:
          switch (GET_MODE (operands[0]))
            {
            case SImode:
              if (pattern621 (x3, SImode) != 0
                  || !
#line 13174 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_TBM))
                return -1;
              return 752; /* *tbm_blcmsk_si */

            case DImode:
              if (pattern621 (x3, DImode) != 0
                  || !(
#line 13174 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_TBM) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              return 753; /* *tbm_blcmsk_di */

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_242 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (pattern122 (x1) != 0)
    return -1;
  switch (GET_MODE (operands[0]))
    {
    case V16SFmode:
      if (!register_operand (operands[0], V16SFmode))
        return -1;
      x2 = XVECEXP (x1, 0, 0);
      x3 = XEXP (x2, 1);
      if (GET_MODE (x3) != V16SFmode
          || !nonimmediate_operand (operands[1], V16SImode)
          || !
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
        return -1;
      return 2124; /* ufloatv16siv16sf2_round */

    case V8SFmode:
      if (!register_operand (operands[0], V8SFmode))
        return -1;
      x2 = XVECEXP (x1, 0, 0);
      x3 = XEXP (x2, 1);
      if (GET_MODE (x3) != V8SFmode)
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case V8SImode:
          if (!nonimmediate_operand (operands[1], V8SImode)
              || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 4423 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 282 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 2128; /* ufloatv8siv8sf2_round */

        case V8DImode:
          if (!nonimmediate_operand (operands[1], V8DImode)
              || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 4918 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && (V8SFmode == V8SFmode))))
            return -1;
          return 2248; /* ufloatv8div8sf2_round */

        default:
          return -1;
        }

    case V4SFmode:
      if (!register_operand (operands[0], V4SFmode))
        return -1;
      x2 = XVECEXP (x1, 0, 0);
      x3 = XEXP (x2, 1);
      if (GET_MODE (x3) != V4SFmode
          || !nonimmediate_operand (operands[1], V4SImode)
          || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 4423 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F) && 
#line 282 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
        return -1;
      return 2132; /* ufloatv4siv4sf2_round */

    case V8DFmode:
      if (!register_operand (operands[0], V8DFmode))
        return -1;
      x2 = XVECEXP (x1, 0, 0);
      x3 = XEXP (x2, 1);
      if (GET_MODE (x3) != V8DFmode
          || !nonimmediate_operand (operands[1], V8DImode)
          || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 4894 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ)))
        return -1;
      return 2224; /* ufloatv8div8df2_round */

    case V4DFmode:
      if (!register_operand (operands[0], V4DFmode))
        return -1;
      x2 = XVECEXP (x1, 0, 0);
      x3 = XEXP (x2, 1);
      if (GET_MODE (x3) != V4DFmode
          || !nonimmediate_operand (operands[1], V4DImode)
          || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 4894 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 279 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
        return -1;
      return 2232; /* ufloatv4div4df2_round */

    case V2DFmode:
      if (!register_operand (operands[0], V2DFmode))
        return -1;
      x2 = XVECEXP (x1, 0, 0);
      x3 = XEXP (x2, 1);
      if (GET_MODE (x3) != V2DFmode
          || !nonimmediate_operand (operands[1], V2DImode)
          || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 4894 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 279 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
        return -1;
      return 2240; /* ufloatv2div2df2_round */

    default:
      return -1;
    }
}

static int
recog_243 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  operands[0] = x3;
  x4 = XEXP (x2, 1);
  x5 = XEXP (x4, 0);
  operands[1] = x5;
  if (GET_CODE (x4) == NEG)
    {
      res = recog_211 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
    }
  x6 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x6) != USE)
    return -1;
  operands[3] = x4;
  x7 = XEXP (x6, 0);
  operands[2] = x7;
  switch (GET_MODE (operands[0]))
    {
    case SFmode:
      if (pnum_clobbers == NULL
          || pattern547 (V4SFmode, SFmode) != 0
          || !
#line 9131 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 || (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)))
        return -1;
      *pnum_clobbers = 1;
      return 470; /* *absnegsf2 */

    case DFmode:
      if (pnum_clobbers == NULL
          || pattern547 (V2DFmode, DFmode) != 0
          || !
#line 9131 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 || (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)))
        return -1;
      *pnum_clobbers = 1;
      return 471; /* *absnegdf2 */

    case XFmode:
      if (pnum_clobbers == NULL
          || !register_operand (operands[0], XFmode)
          || !absneg_operator (operands[3], XFmode)
          || !register_operand (operands[1], XFmode)
          || !
#line 9151 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387))
        return -1;
      *pnum_clobbers = 1;
      return 472; /* *absnegxf2_i387 */

    case TFmode:
      if (pnum_clobbers == NULL
          || pattern548 () != 0
          || !
#line 9166 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_SSE))
        return -1;
      *pnum_clobbers = 1;
      return 473; /* *absnegtf2_sse */

    case V16SFmode:
      if (pattern503 (V16SFmode) != 0
          || !(
#line 1515 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
        return -1;
      return 1343; /* *absnegv16sf2 */

    case V8SFmode:
      if (pattern503 (V8SFmode) != 0
          || !(
#line 1515 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
        return -1;
      return 1344; /* *absnegv8sf2 */

    case V4SFmode:
      if (pattern503 (V4SFmode) != 0
          || !
#line 1515 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE))
        return -1;
      return 1345; /* *absnegv4sf2 */

    case V8DFmode:
      if (pattern503 (V8DFmode) != 0
          || !(
#line 1515 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
        return -1;
      return 1346; /* *absnegv8df2 */

    case V4DFmode:
      if (pattern503 (V4DFmode) != 0
          || !(
#line 1515 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
        return -1;
      return 1347; /* *absnegv4df2 */

    case V2DFmode:
      if (pattern503 (V2DFmode) != 0
          || !(
#line 1515 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
        return -1;
      return 1348; /* *absnegv2df2 */

    default:
      return -1;
    }
}

static int
recog_244 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  operands[0] = x3;
  x4 = XEXP (x2, 1);
  x5 = XEXP (x4, 0);
  switch (GET_CODE (x5))
    {
    case REG:
    case SUBREG:
    case MEM:
      operands[1] = x5;
      x6 = XVECEXP (x1, 0, 1);
      switch (GET_CODE (x6))
        {
        case CLOBBER:
          x7 = XEXP (x6, 0);
          if (GET_CODE (x7) != REG
              || REGNO (x7) != 17
              || GET_MODE (x7) != CCmode)
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case SImode:
              if (!register_operand (operands[0], SImode)
                  || GET_MODE (x4) != SImode
                  || !nonimmediate_operand (operands[1], SImode)
                  || !
#line 13252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_POPCNT))
                return -1;
              return 764; /* popcountsi2 */

            case DImode:
              if (!register_operand (operands[0], DImode)
                  || GET_MODE (x4) != DImode
                  || !nonimmediate_operand (operands[1], DImode)
                  || !(
#line 13252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_POPCNT) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              return 765; /* popcountdi2 */

            case HImode:
              if (!register_operand (operands[0], HImode)
                  || GET_MODE (x4) != HImode
                  || !nonimmediate_operand (operands[1], HImode)
                  || !
#line 13318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_POPCNT))
                return -1;
              return 769; /* popcounthi2 */

            default:
              return -1;
            }

        case UNSPEC:
          switch (pattern119 (x1, pnum_clobbers))
            {
            case 0:
              if (!
#line 13283 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_POPCNT))
                return -1;
              *pnum_clobbers = 1;
              return 766; /* *popcountsi2_falsedep */

            case 1:
              if (!(
#line 13283 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_POPCNT) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              *pnum_clobbers = 1;
              return 767; /* *popcountdi2_falsedep */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case ZERO_EXTEND:
      if (GET_MODE (x5) != SImode)
        return -1;
      x6 = XVECEXP (x1, 0, 1);
      if (pattern115 (x6, CCmode, 17) != 0
          || !register_operand (operands[0], SImode)
          || GET_MODE (x4) != SImode)
        return -1;
      x8 = XEXP (x5, 0);
      operands[1] = x8;
      if (!nonimmediate_operand (operands[1], HImode)
          || !
#line 13300 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_POPCNT
   && can_create_pseudo_p ()))
        return -1;
      return 768; /* *popcounthi2_1 */

    default:
      return -1;
    }
}

static int
recog_245 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case NE:
    case EQ:
      operands[0] = x4;
      if (bt_comparison_operator (operands[0], VOIDmode))
        {
          switch (pattern283 (x1))
            {
            case 0:
              if (
#line 11050 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((TARGET_USE_BT || optimize_function_for_size_p (cfun))
   && (CONST_INT_P (operands[2])
       ? (INTVAL (operands[2]) < GET_MODE_BITSIZE (SImode)
	  && INTVAL (operands[2])
	       >= (optimize_function_for_size_p (cfun) ? 8 : 32))
       : register_operand (operands[2], SImode))
   && can_create_pseudo_p ()))
                return 604; /* *jcc_btsi */
              break;

            case 1:
              if ((
#line 11050 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((TARGET_USE_BT || optimize_function_for_size_p (cfun))
   && (CONST_INT_P (operands[2])
       ? (INTVAL (operands[2]) < GET_MODE_BITSIZE (DImode)
	  && INTVAL (operands[2])
	       >= (optimize_function_for_size_p (cfun) ? 8 : 32))
       : register_operand (operands[2], SImode))
   && can_create_pseudo_p ()) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return 605; /* *jcc_btdi */
              break;

            case 2:
              if (
#line 11087 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((TARGET_USE_BT || optimize_function_for_size_p (cfun))
   && can_create_pseudo_p ()))
                return 606; /* *jcc_btsi_1 */
              break;

            case 3:
              if ((
#line 11087 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((TARGET_USE_BT || optimize_function_for_size_p (cfun))
   && can_create_pseudo_p ()) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return 607; /* *jcc_btdi_1 */
              break;

            case 4:
              if (
#line 11121 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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
   && can_create_pseudo_p ()))
                return 608; /* *jcc_btsi_mask */
              break;

            case 5:
              if ((
#line 11121 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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
   && can_create_pseudo_p ()) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return 609; /* *jcc_btdi_mask */
              break;

            default:
              break;
            }
        }
      if (GET_CODE (x4) != NE)
        return -1;
      x5 = XEXP (x4, 0);
      if (GET_CODE (x5) != UNSPEC
          || XVECLEN (x5, 0) != 1
          || XINT (x5, 1) != 37)
        return -1;
      x6 = XVECEXP (x5, 0, 0);
      if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x7 = XEXP (x4, 1);
      if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x8 = XEXP (x3, 1);
      if (GET_CODE (x8) != LABEL_REF)
        return -1;
      x9 = XEXP (x3, 2);
      if (GET_CODE (x9) != PC)
        return -1;
      x10 = XEXP (x2, 0);
      if (GET_CODE (x10) != PC)
        return -1;
      x11 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x11) != SET)
        return -1;
      x12 = XEXP (x11, 1);
      if (pattern186 (x12, SImode, 41, UNSPEC_VOLATILE, 1) != 0)
        return -1;
      x13 = XEXP (x8, 0);
      operands[1] = x13;
      x14 = XEXP (x11, 0);
      operands[0] = x14;
      if (!register_operand (operands[0], SImode))
        return -1;
      x15 = XVECEXP (x12, 0, 0);
      if (!rtx_equal_p (x15, operands[0])
          || !
#line 19259 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_RTM))
        return -1;
      return 1064; /* xbegin_1 */

    case GE:
    case GT:
    case LE:
    case LT:
    case GTU:
    case LTU:
    case UNEQ:
    case UNGE:
    case UNGT:
    case UNLE:
    case UNLT:
    case LTGT:
      operands[1] = x4;
      if (!ix86_carry_flag_operator (operands[1], VOIDmode))
        return -1;
      switch (pattern273 (x1, -1))
        {
        case 0:
          return 957; /* *x86_movsicc_0_m1 */

        case 1:
          if (!
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
            return -1;
          return 958; /* *x86_movdicc_0_m1 */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_246 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  operands[0] = x3;
  x4 = XEXP (x2, 1);
  x5 = XEXP (x4, 0);
  switch (GET_CODE (x5))
    {
    case REG:
    case SUBREG:
    case MEM:
      x6 = XVECEXP (x1, 0, 1);
      switch (GET_CODE (x6))
        {
        case USE:
          if (pnum_clobbers == NULL
              || !register_operand (operands[0], SImode)
              || GET_MODE (x4) != SImode)
            return -1;
          operands[3] = x5;
          x7 = XEXP (x6, 0);
          operands[4] = x7;
          switch (GET_MODE (operands[3]))
            {
            case SFmode:
              if (!nonimmediate_operand (operands[3], SFmode)
                  || !nonimmediate_operand (operands[4], V4SFmode)
                  || !
#line 4823 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_SSE2 && TARGET_SSE_MATH
   && optimize_function_for_speed_p (cfun)))
                return -1;
              *pnum_clobbers = 2;
              return 168; /* *fixuns_truncsf_1 */

            case DFmode:
              if (!nonimmediate_operand (operands[3], DFmode)
                  || !nonimmediate_operand (operands[4], V2DFmode)
                  || !
#line 4823 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_SSE2 && TARGET_SSE_MATH
   && optimize_function_for_speed_p (cfun)))
                return -1;
              *pnum_clobbers = 2;
              return 169; /* *fixuns_truncdf_1 */

            default:
              return -1;
            }

        case UNSPEC:
          if (XVECLEN (x6, 0) != 1
              || XINT (x6, 1) != 173)
            return -1;
          operands[1] = x5;
          switch (pattern502 (x1))
            {
            case 0:
              if (!
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                return -1;
              return 2176; /* ufix_truncv16sfv16si2_round */

            case 1:
              if (!
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
                return -1;
              return 2295; /* ufix_truncv8dfv8si2_round */

            case 2:
              if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 5164 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && (V8DFmode == V16SFmode
									      || V8DFmode == V8DFmode
									      || V8DFmode == V8DImode
									      || V8DFmode == V16SImode))))
                return -1;
              return 2309; /* ufix_truncv8dfv8di2_round */

            case 3:
              if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 5196 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && (V8SFmode == V8SFmode))))
                return -1;
              return 2341; /* ufix_truncv8sfv8di2_round */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case VEC_SELECT:
      switch (pattern250 (x1))
        {
        case 0:
          if (!
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
            return -1;
          return 2194; /* avx512f_vcvttss2usi_round */

        case 1:
          if (!
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
            return -1;
          return 2202; /* avx512f_vcvttsd2usi_round */

        case 2:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 4725 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && TARGET_64BIT)))
            return -1;
          return 2196; /* avx512f_vcvttss2usiq_round */

        case 3:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 4775 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && TARGET_64BIT)))
            return -1;
          return 2204; /* avx512f_vcvttsd2usiq_round */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_247 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  operands[0] = x3;
  x4 = XEXP (x2, 1);
  x5 = XEXP (x4, 0);
  operands[1] = x5;
  x6 = XVECEXP (x1, 0, 1);
  switch (GET_CODE (x6))
    {
    case CLOBBER:
      x7 = XEXP (x6, 0);
      operands[2] = x7;
      switch (GET_MODE (operands[0]))
        {
        case SFmode:
          if (!nonimmediate_operand (operands[0], SFmode)
              || GET_MODE (x4) != SFmode
              || !memory_operand (operands[2], SFmode))
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case DFmode:
              if (!nonimmediate_operand (operands[1], DFmode))
                return -1;
              if (
#line 4555 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_MIX_SSE_I387))
                return 159; /* *truncdfsf_mixed */
              if (!
#line 4579 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387))
                return -1;
              return 160; /* *truncdfsf_i387 */

            case XFmode:
              if (!register_operand (operands[1], XFmode)
                  || !
#line 4641 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387))
                return -1;
              return 162; /* *truncxfsf2_mixed */

            default:
              return -1;
            }

        case DFmode:
          if (!nonimmediate_operand (operands[0], DFmode)
              || GET_MODE (x4) != DFmode
              || !register_operand (operands[1], XFmode)
              || !memory_operand (operands[2], DFmode)
              || !
#line 4655 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387))
            return -1;
          return 163; /* *truncxfdf2_mixed */

        default:
          return -1;
        }

    case UNSPEC:
      if (XVECLEN (x6, 0) != 1
          || XINT (x6, 1) != 173
          || !register_operand (operands[0], V8SFmode)
          || GET_MODE (x4) != V8SFmode
          || !register_operand (operands[1], V8DFmode))
        return -1;
      x8 = XVECEXP (x6, 0, 0);
      operands[2] = x8;
      if (!const_4_or_8_to_11_operand (operands[2], SImode)
          || !
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F))
        return -1;
      return 2365; /* *avx512f_cvtpd2ps512_round */

    default:
      return -1;
    }
}

static int
recog_248 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  switch (GET_CODE (x3))
    {
    case COMPARE:
      return recog_223 (x1, insn, pnum_clobbers);

    case CONST_INT:
    case CONST_WIDE_INT:
    case CONST_FIXED:
    case CONST_DOUBLE:
    case CONST_VECTOR:
    case CONST:
    case REG:
    case SUBREG:
    case MEM:
    case LABEL_REF:
    case SYMBOL_REF:
    case HIGH:
      return recog_230 (x1, insn, pnum_clobbers);

    case ZERO_EXTEND:
      return recog_231 (x1, insn, pnum_clobbers);

    case FLOAT_TRUNCATE:
      return recog_247 (x1, insn, pnum_clobbers);

    case UNSIGNED_FIX:
      return recog_246 (x1, insn, pnum_clobbers);

    case FIX:
      return recog_236 (x1, insn, pnum_clobbers);

    case PLUS:
      return recog_229 (x1, insn, pnum_clobbers);

    case MINUS:
      return recog_232 (x1, insn, pnum_clobbers);

    case MULT:
      return recog_233 (x1, insn, pnum_clobbers);

    case DIV:
      x4 = XEXP (x2, 0);
      operands[0] = x4;
      x5 = XVECEXP (x1, 0, 1);
      switch (GET_CODE (x5))
        {
        case SET:
          if (pnum_clobbers == NULL)
            return -1;
          x6 = XEXP (x5, 1);
          if (GET_CODE (x6) != MOD)
            return -1;
          x7 = XEXP (x3, 0);
          operands[2] = x7;
          x8 = XEXP (x3, 1);
          operands[3] = x8;
          x9 = XEXP (x5, 0);
          operands[1] = x9;
          x10 = XEXP (x6, 0);
          if (!rtx_equal_p (x10, operands[2]))
            return -1;
          x11 = XEXP (x6, 1);
          if (!rtx_equal_p (x11, operands[3]))
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case HImode:
              if (pattern191 (x1, HImode) != 0
                  || !
#line 1012 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_HIMODE_MATH))
                return -1;
              *pnum_clobbers = 1;
              return 359; /* *divmodhi4 */

            case SImode:
              if (pattern191 (x1, SImode) != 0)
                return -1;
              *pnum_clobbers = 1;
              return 360; /* *divmodsi4 */

            case DImode:
              if (pattern191 (x1, DImode) != 0
                  || !
#line 1013 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
                return -1;
              *pnum_clobbers = 1;
              return 361; /* *divmoddi4 */

            default:
              return -1;
            }

        case UNSPEC:
          if (XVECLEN (x5, 0) != 1
              || XINT (x5, 1) != 173)
            return -1;
          x7 = XEXP (x3, 0);
          operands[1] = x7;
          x8 = XEXP (x3, 1);
          operands[2] = x8;
          x12 = XVECEXP (x5, 0, 0);
          operands[3] = x12;
          if (!const_4_or_8_to_11_operand (operands[3], SImode))
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case V16SFmode:
              if (pattern123 (x3, V16SFmode) != 0
                  || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1659 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && 1 && (V16SFmode == V16SFmode
							      || V16SFmode == V8DFmode
							      || V16SFmode == V8DImode
							      || V16SFmode == V16SImode)) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
                return -1;
              return 1438; /* avx512f_divv16sf3_round */

            case V8DFmode:
              if (pattern123 (x3, V8DFmode) != 0
                  || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1659 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && 1 && (V8DFmode == V16SFmode
							      || V8DFmode == V8DFmode
							      || V8DFmode == V8DImode
							      || V8DFmode == V16SImode)) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
                return -1;
              return 1446; /* avx512f_divv8df3_round */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case IOR:
      return recog_227 (x1, insn, pnum_clobbers);

    case UDIV:
      if (pnum_clobbers == NULL)
        return -1;
      switch (pattern128 (x1))
        {
        case 0:
          switch (GET_MODE (operands[0]))
            {
            case HImode:
              if (pattern191 (x1, HImode) != 0
                  || !
#line 1012 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_HIMODE_MATH))
                return -1;
              *pnum_clobbers = 1;
              return 368; /* *udivmodhi4 */

            case SImode:
              if (pattern191 (x1, SImode) != 0)
                return -1;
              *pnum_clobbers = 1;
              return 369; /* *udivmodsi4 */

            case DImode:
              if (pattern191 (x1, DImode) != 0
                  || !
#line 1013 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
                return -1;
              *pnum_clobbers = 1;
              return 370; /* *udivmoddi4 */

            default:
              return -1;
            }

        case 1:
          switch (GET_MODE (operands[0]))
            {
            case SImode:
              if (pattern707 (x1, SImode) != 0
                  || !
#line 7754 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(IN_RANGE (INTVAL (operands[3]), 2, HOST_WIDE_INT_UC (0x80000000))
   && (UINTVAL (operands[3]) & (UINTVAL (operands[3]) - 1)) == 0))
                return -1;
              *pnum_clobbers = 1;
              return 371; /* *udivmodsi4_pow2 */

            case DImode:
              if (pattern707 (x1, DImode) != 0
                  || !(
#line 7754 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(IN_RANGE (INTVAL (operands[3]), 2, HOST_WIDE_INT_UC (0x80000000))
   && (UINTVAL (operands[3]) & (UINTVAL (operands[3]) - 1)) == 0) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              *pnum_clobbers = 1;
              return 372; /* *udivmoddi4_pow2 */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case AND:
      return recog_225 (x1, insn, pnum_clobbers);

    case XOR:
      return recog_241 (x1, insn, pnum_clobbers);

    case NEG:
    case ABS:
      return recog_243 (x1, insn, pnum_clobbers);

    case LSHIFTRT:
      return recog_234 (x1, insn, pnum_clobbers);

    case UNSPEC:
      return recog_226 (x1, insn, pnum_clobbers);

    case ASHIFT:
      x4 = XEXP (x2, 0);
      switch (GET_CODE (x4))
        {
        case REG:
        case SUBREG:
        case MEM:
          res = recog_218 (x1, insn, pnum_clobbers);
          if (res >= 0)
            return res;
          break;

        case STRICT_LOW_PART:
          x5 = XVECEXP (x1, 0, 1);
          if (pattern115 (x5, CCmode, 17) == 0
              && pattern445 (x2) == 0
              && 
#line 9911 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 517; /* *ashlqi3_1_slp */
          break;

        default:
          break;
        }
      x5 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x5) != CLOBBER)
        return -1;
      x9 = XEXP (x5, 0);
      if (GET_CODE (x9) != REG
          || REGNO (x9) != 17
          || GET_MODE (x9) != CCmode)
        return -1;
      operands[0] = x4;
      x7 = XEXP (x3, 0);
      operands[1] = x7;
      x8 = XEXP (x3, 1);
      if (GET_CODE (x8) == SUBREG)
        {
          switch (pattern552 (x3))
            {
            case 0:
              if (
#line 9647 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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
   && can_create_pseudo_p ()))
                return 507; /* *ashlsi3_mask */
              break;

            case 1:
              if ((
#line 9647 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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
   && can_create_pseudo_p ()) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return 508; /* *ashldi3_mask */
              break;

            default:
              break;
            }
        }
      operands[2] = x8;
      if (!nonmemory_operand (operands[2], QImode))
        return -1;
      switch (pattern136 (x3))
        {
        case 0:
          if (!
#line 9675 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ASHIFT, SImode, operands)))
            return -1;
          return 511; /* *ashlsi3_1 */

        case 1:
          if (!(
#line 9675 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ASHIFT, DImode, operands)) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          return 512; /* *ashldi3_1 */

        default:
          return -1;
        }

    case ASHIFTRT:
      return recog_239 (x1, insn, pnum_clobbers);

    case ROTATE:
      x5 = XVECEXP (x1, 0, 1);
      if (pattern115 (x5, CCmode, 17) != 0)
        return -1;
      x8 = XEXP (x3, 1);
      if (GET_CODE (x8) == SUBREG)
        {
          switch (pattern446 (x2))
            {
            case 0:
              if (
#line 10608 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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
   && can_create_pseudo_p ()))
                return 576; /* *rotlsi3_mask */
              break;

            case 1:
              if ((
#line 10608 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ROTATE, DImode, operands)
   && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
      == GET_MODE_BITSIZE (DImode)-1
   && can_create_pseudo_p ()) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return 578; /* *rotldi3_mask */
              break;

            default:
              break;
            }
        }
      if (!nonmemory_operand (x8, QImode))
        return -1;
      switch (pattern447 (x2))
        {
        case 0:
          if (!
#line 10700 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ROTATE, SImode, operands)))
            return -1;
          return 586; /* *rotlsi3_1 */

        case 1:
          if (!(
#line 10700 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ROTATE, DImode, operands)) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          return 588; /* *rotldi3_1 */

        case 2:
          if (!
#line 10825 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ROTATE, QImode, operands)))
            return -1;
          return 593; /* *rotlqi3_1 */

        case 3:
          if (!
#line 10825 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ROTATE, HImode, operands)))
            return -1;
          return 595; /* *rotlhi3_1 */

        case 4:
          if (!
#line 10848 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_REG_STALL
    || (operands[1] == const1_rtx
	&& TARGET_SHIFT1))))
            return -1;
          return 597; /* *rotlqi3_1_slp */

        default:
          return -1;
        }

    case ROTATERT:
      x5 = XVECEXP (x1, 0, 1);
      if (pattern115 (x5, CCmode, 17) != 0)
        return -1;
      x8 = XEXP (x3, 1);
      if (GET_CODE (x8) == SUBREG)
        {
          switch (pattern446 (x2))
            {
            case 0:
              if (
#line 10608 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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
   && can_create_pseudo_p ()))
                return 577; /* *rotrsi3_mask */
              break;

            case 1:
              if ((
#line 10608 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ROTATERT, DImode, operands)
   && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
      == GET_MODE_BITSIZE (DImode)-1
   && can_create_pseudo_p ()) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return 579; /* *rotrdi3_mask */
              break;

            default:
              break;
            }
        }
      if (!nonmemory_operand (x8, QImode))
        return -1;
      switch (pattern447 (x2))
        {
        case 0:
          if (!
#line 10700 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ROTATERT, SImode, operands)))
            return -1;
          return 587; /* *rotrsi3_1 */

        case 1:
          if (!(
#line 10700 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ROTATERT, DImode, operands)) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          return 589; /* *rotrdi3_1 */

        case 2:
          if (!
#line 10825 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ROTATERT, QImode, operands)))
            return -1;
          return 594; /* *rotrqi3_1 */

        case 3:
          if (!
#line 10825 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ROTATERT, HImode, operands)))
            return -1;
          return 596; /* *rotrhi3_1 */

        case 4:
          if (!
#line 10848 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_REG_STALL
    || (operands[1] == const1_rtx
	&& TARGET_SHIFT1))))
            return -1;
          return 598; /* *rotrqi3_1_slp */

        default:
          return -1;
        }

    case NOT:
      return recog_240 (x1, insn, pnum_clobbers);

    case IF_THEN_ELSE:
      return recog_245 (x1, insn, pnum_clobbers);

    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:
      x4 = XEXP (x2, 0);
      if (GET_CODE (x4) == REG
          && REGNO (x4) == 17
          && GET_MODE (x4) == CCOmode)
        {
          res = recog_219 (x1, insn, pnum_clobbers);
          if (res >= 0)
            return res;
        }
      operands[1] = x3;
      if (pattern185 (x1) != 0
          || !
#line 11168 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_PARTIAL_REG_STALL
   && TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)))
        return -1;
      return 611; /* *setcc_si_1_and */

    case CALL:
      return recog_237 (x1, insn, pnum_clobbers);

    case CTZ:
      switch (pattern120 (x1, pnum_clobbers))
        {
        case 0:
          return 703; /* ctzsi2 */

        case 1:
          if (!
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
            return -1;
          return 704; /* ctzdi2 */

        case 2:
          *pnum_clobbers = 1;
          return 705; /* *ctzsi2_falsedep */

        case 3:
          if (!
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
            return -1;
          *pnum_clobbers = 1;
          return 706; /* *ctzdi2_falsedep */

        default:
          return -1;
        }

    case CLZ:
      switch (pattern120 (x1, pnum_clobbers))
        {
        case 0:
          if (!
#line 12857 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_LZCNT))
            return -1;
          return 710; /* clzsi2_lzcnt */

        case 1:
          if (!(
#line 12857 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_LZCNT) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          return 711; /* clzdi2_lzcnt */

        case 2:
          if (!
#line 12882 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_LZCNT))
            return -1;
          *pnum_clobbers = 1;
          return 712; /* *clzsi2_lzcnt_falsedep */

        case 3:
          if (!(
#line 12882 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_LZCNT) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          *pnum_clobbers = 1;
          return 713; /* *clzdi2_lzcnt_falsedep */

        default:
          return -1;
        }

    case ZERO_EXTRACT:
      if (pattern121 (x1) != 0)
        return -1;
      x8 = XEXP (x3, 1);
      switch (GET_CODE (x8))
        {
        case UMIN:
          x13 = XEXP (x3, 2);
          if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          x14 = XEXP (x8, 1);
          operands[3] = x14;
          x15 = XEXP (x8, 0);
          switch (GET_CODE (x15))
            {
            case AND:
              x16 = XEXP (x15, 1);
              if (GET_CODE (x16) != CONST_INT
                  || XWINT (x16, 0) != 255LL)
                return -1;
              x17 = XEXP (x15, 0);
              operands[2] = x17;
              switch (GET_MODE (operands[0]))
                {
                case SImode:
                  if (pattern798 (x3, SImode) != 0
                      || !
#line 13047 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI2 && INTVAL (operands[3]) == 4 * BITS_PER_UNIT))
                    return -1;
                  return 734; /* *bmi2_bzhi_si3 */

                case DImode:
                  if (pattern798 (x3, DImode) != 0
                      || !(
#line 13047 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI2 && INTVAL (operands[3]) == 8 * BITS_PER_UNIT) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                    return -1;
                  return 735; /* *bmi2_bzhi_di3 */

                default:
                  return -1;
                }

            case ZERO_EXTEND:
              x17 = XEXP (x15, 0);
              operands[2] = x17;
              if (!register_operand (operands[2], QImode))
                return -1;
              switch (GET_MODE (operands[0]))
                {
                case SImode:
                  if (pattern770 (x3, SImode) != 0
                      || !
#line 13064 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI2 && INTVAL (operands[3]) == 4 * BITS_PER_UNIT))
                    return -1;
                  return 736; /* *bmi2_bzhi_si3_1 */

                case DImode:
                  if (pattern770 (x3, DImode) != 0
                      || !(
#line 13064 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI2 && INTVAL (operands[3]) == 8 * BITS_PER_UNIT) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                    return -1;
                  return 737; /* *bmi2_bzhi_di3_1 */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case CONST_INT:
          operands[2] = x8;
          if (!const_0_to_255_operand (operands[2], VOIDmode))
            return -1;
          x13 = XEXP (x3, 2);
          operands[3] = x13;
          if (!const_0_to_255_operand (operands[3], VOIDmode))
            return -1;
          switch (pattern116 (x3))
            {
            case 0:
              if (!
#line 13117 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_TBM))
                return -1;
              return 744; /* tbm_bextri_si */

            case 1:
              if (!(
#line 13117 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_TBM) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              return 745; /* tbm_bextri_di */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case POPCOUNT:
      return recog_244 (x1, insn, pnum_clobbers);

    case BSWAP:
      if (GET_MODE (x3) != HImode)
        return -1;
      x4 = XEXP (x2, 0);
      if (GET_CODE (x4) != STRICT_LOW_PART)
        return -1;
      x5 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x5) != CLOBBER)
        return -1;
      x9 = XEXP (x5, 0);
      if (GET_CODE (x9) != REG
          || REGNO (x9) != 17
          || GET_MODE (x9) != CCmode)
        return -1;
      x18 = XEXP (x4, 0);
      operands[0] = x18;
      if (!register_operand (operands[0], HImode))
        return -1;
      x7 = XEXP (x3, 0);
      if (!rtx_equal_p (x7, operands[0]))
        return -1;
      if (
#line 13388 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_XCHGB || optimize_function_for_size_p (cfun)))
        return 774; /* *bswaphi_lowpart_1 */
      return 775; /* bswaphi_lowpart */

    case SIGN_EXTRACT:
      x7 = XEXP (x3, 0);
      if (!ix86_carry_flag_operator (x7, VOIDmode))
        return -1;
      operands[1] = x7;
      switch (pattern273 (x1, 1))
        {
        case 0:
          return 959; /* *x86_movsicc_0_m1_se */

        case 1:
          if (!
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
            return -1;
          return 960; /* *x86_movdicc_0_m1_se */

        default:
          return -1;
        }

    case UNSPEC_VOLATILE:
      return recog_228 (x1, insn, pnum_clobbers);

    case VEC_MERGE:
      return recog_224 (x1, insn, pnum_clobbers);

    case SQRT:
      if (pattern122 (x1) != 0)
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case V16SFmode:
          if (!register_operand (operands[0], V16SFmode)
              || GET_MODE (x3) != V16SFmode
              || !register_operand (operands[1], V16SFmode)
              || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1747 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && 1 && (V16SFmode == V16SFmode
							      || V16SFmode == V8DFmode
							      || V16SFmode == V8DImode
							      || V16SFmode == V16SImode)) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
            return -1;
          return 1471; /* avx512f_sqrtv16sf2_round */

        case V8DFmode:
          if (!register_operand (operands[0], V8DFmode)
              || GET_MODE (x3) != V8DFmode
              || !register_operand (operands[1], V8DFmode)
              || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1747 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && 1 && (V8DFmode == V16SFmode
							      || V8DFmode == V8DFmode
							      || V8DFmode == V8DImode
							      || V8DFmode == V16SImode)) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
            return -1;
          return 1479; /* avx512f_sqrtv8df2_round */

        default:
          return -1;
        }

    case SMAX:
      switch (pattern124 (x1))
        {
        case 0:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (SMAX, V16SFmode, operands)
   && 1 && (V16SFmode == V16SFmode
									      || V16SFmode == V8DFmode
									      || V16SFmode == V8DImode
									      || V16SFmode == V16SImode)) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
            return -1;
          return 1508; /* *smaxv16sf3_round */

        case 1:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (SMAX, V8SFmode, operands)
   && 1 && (V8SFmode == V16SFmode
									      || V8SFmode == V8DFmode
									      || V8SFmode == V8DImode
									      || V8SFmode == V16SImode)) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
            return -1;
          return 1516; /* *smaxv8sf3_round */

        case 2:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 1878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (SMAX, V4SFmode, operands)
   && 1 && (V4SFmode == V16SFmode
									      || V4SFmode == V8DFmode
									      || V4SFmode == V8DImode
									      || V4SFmode == V16SImode))))
            return -1;
          return 1524; /* *smaxv4sf3_round */

        case 3:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (SMAX, V8DFmode, operands)
   && 1 && (V8DFmode == V16SFmode
									      || V8DFmode == V8DFmode
									      || V8DFmode == V8DImode
									      || V8DFmode == V16SImode)) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
            return -1;
          return 1532; /* *smaxv8df3_round */

        case 4:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (SMAX, V4DFmode, operands)
   && 1 && (V4DFmode == V16SFmode
									      || V4DFmode == V8DFmode
									      || V4DFmode == V8DImode
									      || V4DFmode == V16SImode)) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
            return -1;
          return 1540; /* *smaxv4df3_round */

        case 5:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (SMAX, V2DFmode, operands)
   && 1 && (V2DFmode == V16SFmode
									      || V2DFmode == V8DFmode
									      || V2DFmode == V8DImode
									      || V2DFmode == V16SImode)) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))))
            return -1;
          return 1548; /* *smaxv2df3_round */

        default:
          return -1;
        }

    case SMIN:
      switch (pattern124 (x1))
        {
        case 0:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (SMIN, V16SFmode, operands)
   && 1 && (V16SFmode == V16SFmode
									      || V16SFmode == V8DFmode
									      || V16SFmode == V8DImode
									      || V16SFmode == V16SImode)) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
            return -1;
          return 1512; /* *sminv16sf3_round */

        case 1:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (SMIN, V8SFmode, operands)
   && 1 && (V8SFmode == V16SFmode
									      || V8SFmode == V8DFmode
									      || V8SFmode == V8DImode
									      || V8SFmode == V16SImode)) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
            return -1;
          return 1520; /* *sminv8sf3_round */

        case 2:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 1878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (SMIN, V4SFmode, operands)
   && 1 && (V4SFmode == V16SFmode
									      || V4SFmode == V8DFmode
									      || V4SFmode == V8DImode
									      || V4SFmode == V16SImode))))
            return -1;
          return 1528; /* *sminv4sf3_round */

        case 3:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (SMIN, V8DFmode, operands)
   && 1 && (V8DFmode == V16SFmode
									      || V8DFmode == V8DFmode
									      || V8DFmode == V8DImode
									      || V8DFmode == V16SImode)) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
            return -1;
          return 1536; /* *sminv8df3_round */

        case 4:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (SMIN, V4DFmode, operands)
   && 1 && (V4DFmode == V16SFmode
									      || V4DFmode == V8DFmode
									      || V4DFmode == V8DImode
									      || V4DFmode == V16SImode)) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))))
            return -1;
          return 1544; /* *sminv4df3_round */

        case 5:
          if (!(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 1878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && ix86_binary_operator_ok (SMIN, V2DFmode, operands)
   && 1 && (V2DFmode == V16SFmode
									      || V2DFmode == V8DFmode
									      || V2DFmode == V8DImode
									      || V2DFmode == V16SImode)) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))))
            return -1;
          return 1552; /* *sminv2df3_round */

        default:
          return -1;
        }

    case FMA:
      return recog_235 (x1, insn, pnum_clobbers);

    case FLOAT:
      if (pattern122 (x1) != 0)
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case V16SFmode:
          if (!register_operand (operands[0], V16SFmode)
              || GET_MODE (x3) != V16SFmode
              || !register_operand (operands[1], V16SImode)
              || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 4410 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && (V16SFmode == V16SFmode
							      || V16SFmode == V8DFmode
							      || V16SFmode == V8DImode
							      || V16SFmode == V16SImode)) && 
#line 235 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
            return -1;
          return 2116; /* floatv16siv16sf2_round */

        case V8DFmode:
          if (!register_operand (operands[0], V8DFmode)
              || GET_MODE (x3) != V8DFmode
              || !nonimmediate_operand (operands[1], V8DImode)
              || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 4894 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ)))
            return -1;
          return 2220; /* floatv8div8df2_round */

        case V4DFmode:
          if (!register_operand (operands[0], V4DFmode)
              || GET_MODE (x3) != V4DFmode
              || !nonimmediate_operand (operands[1], V4DImode)
              || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 4894 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 279 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 2228; /* floatv4div4df2_round */

        case V2DFmode:
          if (!register_operand (operands[0], V2DFmode)
              || GET_MODE (x3) != V2DFmode
              || !nonimmediate_operand (operands[1], V2DImode)
              || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 4894 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ) && 
#line 279 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))))
            return -1;
          return 2236; /* floatv2div2df2_round */

        case V8SFmode:
          if (!register_operand (operands[0], V8SFmode)
              || GET_MODE (x3) != V8SFmode
              || !nonimmediate_operand (operands[1], V8DImode)
              || !(
#line 141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && 
#line 4918 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512DQ && (V8SFmode == V8SFmode))))
            return -1;
          return 2244; /* floatv8div8sf2_round */

        default:
          return -1;
        }

    case UNSIGNED_FLOAT:
      return recog_242 (x1, insn, pnum_clobbers);

    case FLOAT_EXTEND:
      if (pattern125 (x1, V8DFmode) != 0)
        return -1;
      x7 = XEXP (x3, 0);
      operands[1] = x7;
      if (!register_operand (operands[1], V8SFmode))
        return -1;
      x5 = XVECEXP (x1, 0, 1);
      x12 = XVECEXP (x5, 0, 0);
      operands[2] = x12;
      if (!const48_operand (operands[2], SImode)
          || !(
#line 178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/subst.md"
(TARGET_AVX512F) && (
#line 5409 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && 1 && (V8DFmode == V16SFmode
									      || V8DFmode == V8DFmode
									      || V8DFmode == V8DImode
									      || V8DFmode == V16SImode)) && 
#line 253 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))))
        return -1;
      return 2373; /* avx512f_cvtps2pd512_round */

    case VEC_CONCAT:
      x7 = XEXP (x3, 0);
      if (GET_CODE (x7) != TRUNCATE)
        return -1;
      x8 = XEXP (x3, 1);
      if (GET_CODE (x8) != TRUNCATE)
        return -1;
      x5 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x5) != USE)
        return -1;
      x4 = XEXP (x2, 0);
      operands[0] = x4;
      x19 = XEXP (x7, 0);
      operands[1] = x19;
      x15 = XEXP (x8, 0);
      operands[2] = x15;
      x9 = XEXP (x5, 0);
      operands[3] = x9;
      if (!nonimmediate_operand (operands[3], V16QImode))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case V4SImode:
          if (pattern638 (x3, V2DImode, V2SImode, V4SImode) != 0
              || !
#line 16581 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
            return -1;
          return 4027; /* xop_pperm_pack_v2di_v4si */

        case V8HImode:
          if (pattern638 (x3, V4SImode, V4HImode, V8HImode) != 0
              || !
#line 16594 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
            return -1;
          return 4028; /* xop_pperm_pack_v4si_v8hi */

        case V16QImode:
          if (pattern638 (x3, V8HImode, V8QImode, V16QImode) != 0
              || !
#line 16607 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_XOP && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
            return -1;
          return 4029; /* xop_pperm_pack_v8hi_v16qi */

        default:
          return -1;
        }

    case VEC_SELECT:
      return recog_238 (x1, insn, pnum_clobbers);

    default:
      return -1;
    }
}

static int
recog_249 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  switch (GET_CODE (x2))
    {
    case SET:
      return recog_248 (x1, insn, pnum_clobbers);

    case CALL:
      x3 = XEXP (x2, 0);
      if (GET_CODE (x3) != MEM
          || GET_MODE (x3) != QImode)
        return -1;
      x4 = XEXP (x3, 0);
      operands[0] = x4;
      x5 = XEXP (x2, 1);
      operands[1] = x5;
      x6 = XVECEXP (x1, 0, 1);
      switch (GET_CODE (x6))
        {
        case UNSPEC:
          if (XVECLEN (x6, 0) != 1
              || XINT (x6, 1) != 39)
            return -1;
          x7 = XVECEXP (x6, 0, 0);
          if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case SImode:
              if (!memory_operand (operands[0], SImode)
                  || !(
#line 11874 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_X32 && !ix86_indirect_branch_register) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode)))
                return -1;
              return 660; /* *sibcall_memory */

            case DImode:
              if (!memory_operand (operands[0], DImode)
                  || !(
#line 11874 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_X32 && !ix86_indirect_branch_register) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode)))
                return -1;
              return 661; /* *sibcall_memory */

            default:
              return -1;
            }

        case SET:
          x8 = XEXP (x6, 1);
          if (pattern392 (x8) != 0)
            return -1;
          x9 = XEXP (x6, 0);
          if (GET_CODE (x9) != REG
              || REGNO (x9) != 7
              || GET_MODE (x9) != SImode)
            return -1;
          x10 = XEXP (x8, 1);
          operands[2] = x10;
          if (!immediate_operand (operands[2], SImode))
            return -1;
          if (call_insn_operand (operands[0], SImode)
              && 
#line 11927 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && !SIBLING_CALL_P (insn)))
            return 662; /* *call_pop */
          if (!sibcall_insn_operand (operands[0], SImode)
              || !
#line 11937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && SIBLING_CALL_P (insn)))
            return -1;
          return 663; /* *sibcall_pop */

        default:
          return -1;
        }

    case SIMPLE_RETURN:
      x6 = XVECEXP (x1, 0, 1);
      switch (GET_CODE (x6))
        {
        case UNSPEC:
          if (XVECLEN (x6, 0) != 1)
            return -1;
          x7 = XVECEXP (x6, 0, 0);
          if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return -1;
          switch (XINT (x6, 1))
            {
            case 99:
              if (!
#line 12338 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
                return -1;
              return 680; /* interrupt_return */

            case 31:
              if (!
#line 12349 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
                return -1;
              return 681; /* simple_return_internal_long */

            default:
              return -1;
            }

        case USE:
          x9 = XEXP (x6, 0);
          operands[0] = x9;
          switch (GET_CODE (operands[0]))
            {
            case CONST_INT:
              if (!const_int_operand (operands[0], SImode)
                  || !
#line 12360 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
                return -1;
              return 682; /* simple_return_pop_internal */

            case REG:
            case SUBREG:
              if (!register_operand (operands[0], SImode)
                  || !
#line 12371 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
                return -1;
              return 683; /* simple_return_indirect_internal */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case UNSPEC:
      if (XVECLEN (x2, 0) != 2)
        return -1;
      x6 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x6) != SET)
        return -1;
      x8 = XEXP (x6, 1);
      if (pattern186 (x8, BLKmode, 98, UNSPEC, 1) != 0)
        return -1;
      x9 = XEXP (x6, 0);
      if (!bnd_mem_operator (x9, BLKmode))
        return -1;
      switch (XINT (x2, 1))
        {
        case 95:
          switch (pattern554 (x1))
            {
            case 0:
              if (!(
#line 19414 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_MPX) && 
#line 1045 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_LP64)))
                return -1;
              return 1079; /* *bnd32_cl */

            case 1:
              if (!(
#line 19414 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_MPX) && 
#line 1046 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_LP64)))
                return -1;
              return 1082; /* *bnd64_cl */

            default:
              return -1;
            }

        case 96:
          switch (pattern554 (x1))
            {
            case 0:
              if (!(
#line 19414 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_MPX) && 
#line 1045 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_LP64)))
                return -1;
              return 1080; /* *bnd32_cu */

            case 1:
              if (!(
#line 19414 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_MPX) && 
#line 1046 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_LP64)))
                return -1;
              return 1083; /* *bnd64_cu */

            default:
              return -1;
            }

        case 97:
          switch (pattern554 (x1))
            {
            case 0:
              if (!(
#line 19414 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_MPX) && 
#line 1045 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_LP64)))
                return -1;
              return 1081; /* *bnd32_cn */

            case 1:
              if (!(
#line 19414 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_MPX) && 
#line 1046 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_LP64)))
                return -1;
              return 1084; /* *bnd64_cn */

            default:
              return -1;
            }

        case 92:
          x11 = XVECEXP (x2, 0, 0);
          if (GET_CODE (x11) != MEM)
            return -1;
          operands[3] = x11;
          x12 = XEXP (x11, 0);
          if (GET_CODE (x12) != UNSPEC
              || XVECLEN (x12, 0) != 2
              || XINT (x12, 1) != 94)
            return -1;
          x13 = XVECEXP (x12, 0, 0);
          operands[0] = x13;
          x14 = XVECEXP (x12, 0, 1);
          operands[1] = x14;
          x15 = XVECEXP (x2, 0, 1);
          operands[2] = x15;
          operands[4] = x9;
          x16 = XVECEXP (x8, 0, 0);
          if (!rtx_equal_p (x16, operands[4]))
            return -1;
          switch (GET_MODE (operands[3]))
            {
            case SImode:
              if (pattern894 (x12, BND32mode, SImode) != 0
                  || !(
#line 19488 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_MPX) && 
#line 1045 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_LP64)))
                return -1;
              return 1087; /* *bnd32_stx */

            case DImode:
              if (pattern894 (x12, BND64mode, DImode) != 0
                  || !(
#line 19488 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_MPX) && 
#line 1046 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_LP64)))
                return -1;
              return 1088; /* *bnd64_stx */

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_250 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  switch (XVECLEN (x3, 0))
    {
    case 1:
      switch (XINT (x3, 1))
        {
        case 86:
          switch (pattern275 (x1))
            {
            case 0:
              if (!
#line 12889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI))
                return -1;
              return 718; /* *tzcnt_si_falsedep */

            case 1:
              if (!((
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT) && 
#line 12889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI)) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              return 720; /* *tzcnt_di_falsedep */

            default:
              return -1;
            }

        case 85:
          switch (pattern275 (x1))
            {
            case 0:
              if (!
#line 12890 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_LZCNT))
                return -1;
              return 719; /* *lzcnt_si_falsedep */

            case 1:
              if (!((
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT) && 
#line 12890 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_LZCNT)) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              return 721; /* *lzcnt_di_falsedep */

            default:
              return -1;
            }

        case 28:
          if (pattern256 (x2) != 0)
            return -1;
          x4 = XVECEXP (x1, 0, 1);
          if (GET_CODE (x4) != CLOBBER)
            return -1;
          x5 = XVECEXP (x1, 0, 2);
          if (GET_CODE (x5) != CLOBBER)
            return -1;
          x6 = XVECEXP (x3, 0, 0);
          operands[2] = x6;
          if (!register_operand (operands[2], SImode))
            return -1;
          x7 = XEXP (x4, 0);
          operands[0] = x7;
          if (!scratch_operand (operands[0], SImode))
            return -1;
          x8 = XEXP (x5, 0);
          operands[1] = x8;
          if (!scratch_operand (operands[1], HImode)
              || !
#line 13482 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(! TARGET_POPCNT))
            return -1;
          return 777; /* paritysi2_cmp */

        case 57:
          if (GET_MODE (x3) != DImode)
            return -1;
          x4 = XVECEXP (x1, 0, 1);
          if (GET_CODE (x4) != CLOBBER)
            return -1;
          x5 = XVECEXP (x1, 0, 2);
          if (GET_CODE (x5) != CLOBBER)
            return -1;
          x9 = XEXP (x2, 0);
          operands[0] = x9;
          if (!nonimmediate_operand (operands[0], DImode))
            return -1;
          x6 = XVECEXP (x3, 0, 0);
          operands[1] = x6;
          if (!register_operand (operands[1], XFmode))
            return -1;
          x7 = XEXP (x4, 0);
          operands[2] = x7;
          if (!memory_operand (operands[2], DImode))
            return -1;
          x8 = XEXP (x5, 0);
          operands[3] = x8;
          if (!scratch_operand (operands[3], XFmode)
              || !
#line 15594 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387))
            return -1;
          return 871; /* fistdi2_with_temp */

        case 61:
          switch (pattern276 (x1))
            {
            case 0:
              if (!
#line 15774 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (flag_fp_int_builtin_inexact || !flag_trapping_math)))
                return -1;
              return 887; /* frndintsf2_floor_i387 */

            case 1:
              if (!
#line 15774 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (flag_fp_int_builtin_inexact || !flag_trapping_math)))
                return -1;
              return 890; /* frndintdf2_floor_i387 */

            case 2:
              if (!
#line 15774 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (flag_fp_int_builtin_inexact || !flag_trapping_math)))
                return -1;
              return 893; /* frndintxf2_floor_i387 */

            default:
              return -1;
            }

        case 62:
          switch (pattern276 (x1))
            {
            case 0:
              if (!
#line 15774 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (flag_fp_int_builtin_inexact || !flag_trapping_math)))
                return -1;
              return 888; /* frndintsf2_ceil_i387 */

            case 1:
              if (!
#line 15774 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (flag_fp_int_builtin_inexact || !flag_trapping_math)))
                return -1;
              return 891; /* frndintdf2_ceil_i387 */

            case 2:
              if (!
#line 15774 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (flag_fp_int_builtin_inexact || !flag_trapping_math)))
                return -1;
              return 894; /* frndintxf2_ceil_i387 */

            default:
              return -1;
            }

        case 63:
          switch (pattern276 (x1))
            {
            case 0:
              if (!
#line 15774 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (flag_fp_int_builtin_inexact || !flag_trapping_math)))
                return -1;
              return 889; /* frndintsf2_trunc_i387 */

            case 1:
              if (!
#line 15774 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (flag_fp_int_builtin_inexact || !flag_trapping_math)))
                return -1;
              return 892; /* frndintdf2_trunc_i387 */

            case 2:
              if (!
#line 15774 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (flag_fp_int_builtin_inexact || !flag_trapping_math)))
                return -1;
              return 895; /* frndintxf2_trunc_i387 */

            default:
              return -1;
            }

        case 64:
          if (GET_MODE (x3) != XFmode)
            return -1;
          x4 = XVECEXP (x1, 0, 1);
          if (GET_CODE (x4) != USE)
            return -1;
          x5 = XVECEXP (x1, 0, 2);
          if (GET_CODE (x5) != USE)
            return -1;
          x9 = XEXP (x2, 0);
          operands[0] = x9;
          if (!register_operand (operands[0], XFmode))
            return -1;
          x6 = XVECEXP (x3, 0, 0);
          operands[1] = x6;
          if (!register_operand (operands[1], XFmode))
            return -1;
          x7 = XEXP (x4, 0);
          operands[2] = x7;
          if (!memory_operand (operands[2], HImode))
            return -1;
          x8 = XEXP (x5, 0);
          operands[3] = x8;
          if (!memory_operand (operands[3], HImode)
              || !
#line 15868 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
            return -1;
          return 897; /* frndintxf2_mask_pm_i387 */

        case 65:
          switch (pattern278 (x1, pnum_clobbers))
            {
            case 0:
              if (!
#line 15941 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
                return -1;
              *pnum_clobbers = 1;
              return 904; /* fistdi2_floor */

            case 1:
              if (!
#line 16000 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
                return -1;
              return 908; /* fisthi2_floor */

            case 2:
              if (!
#line 16000 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
                return -1;
              return 910; /* fistsi2_floor */

            default:
              return -1;
            }

        case 66:
          switch (pattern278 (x1, pnum_clobbers))
            {
            case 0:
              if (!
#line 15941 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
                return -1;
              *pnum_clobbers = 1;
              return 905; /* fistdi2_ceil */

            case 1:
              if (!
#line 16000 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
                return -1;
              return 909; /* fisthi2_ceil */

            case 2:
              if (!
#line 16000 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
                return -1;
              return 911; /* fistsi2_ceil */

            default:
              return -1;
            }

        case 79:
          if (pattern280 (x1) != 0)
            return -1;
          switch (pattern442 (x1))
            {
            case 0:
              if (!(
#line 18693 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_SSP_TLS_GUARD) && 
#line 1200 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ptr_mode == SImode)))
                return -1;
              return 997; /* stack_protect_set_si */

            case 1:
              if (!(
#line 18693 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_SSP_TLS_GUARD) && 
#line 1200 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ptr_mode == DImode)))
                return -1;
              return 998; /* stack_protect_set_di */

            default:
              return -1;
            }

        case 81:
          if (pattern280 (x1) != 0)
            return -1;
          switch (pattern444 (x1))
            {
            case 0:
              if (!
#line 1200 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ptr_mode == SImode))
                return -1;
              return 999; /* stack_tls_protect_set_si */

            case 1:
              if (!
#line 1200 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ptr_mode == DImode))
                return -1;
              return 1000; /* stack_tls_protect_set_di */

            default:
              return -1;
            }

        case 209:
          if (GET_MODE (x3) != DImode)
            return -1;
          x4 = XVECEXP (x1, 0, 1);
          if (GET_CODE (x4) != CLOBBER)
            return -1;
          x5 = XVECEXP (x1, 0, 2);
          if (GET_CODE (x5) != CLOBBER
              || pattern456 (x1) != 0
              || !
#line 183 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sync.md"
(!TARGET_64BIT && (TARGET_80387 || TARGET_SSE)))
            return -1;
          return 4958; /* atomic_loaddi_fpu */

        case 210:
          if (GET_MODE (x3) != DImode)
            return -1;
          x4 = XVECEXP (x1, 0, 1);
          if (GET_CODE (x4) != CLOBBER)
            return -1;
          x5 = XVECEXP (x1, 0, 2);
          if (GET_CODE (x5) != CLOBBER
              || pattern457 (x1) != 0
              || !
#line 300 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sync.md"
(!TARGET_64BIT && (TARGET_80387 || TARGET_SSE)))
            return -1;
          return 4963; /* atomic_storedi_fpu */

        default:
          return -1;
        }

    case 2:
      x4 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x4) != SET)
        return -1;
      x10 = XEXP (x4, 1);
      if (GET_CODE (x10) != UNSPEC
          || XVECLEN (x10, 0) != 2
          || GET_MODE (x10) != XFmode)
        return -1;
      x5 = XVECEXP (x1, 0, 2);
      if (GET_CODE (x5) != SET)
        return -1;
      x11 = XEXP (x5, 1);
      if (GET_CODE (x11) != UNSPEC
          || XVECLEN (x11, 0) != 2
          || XINT (x11, 1) != 77
          || GET_MODE (x11) != CCFPmode)
        return -1;
      x8 = XEXP (x5, 0);
      if (GET_CODE (x8) != REG
          || REGNO (x8) != 18
          || GET_MODE (x8) != CCFPmode)
        return -1;
      x9 = XEXP (x2, 0);
      operands[0] = x9;
      if (!register_operand (operands[0], XFmode)
          || GET_MODE (x3) != XFmode
          || pattern680 (x1) != 0)
        return -1;
      x12 = XVECEXP (x11, 0, 0);
      if (!rtx_equal_p (x12, operands[2]))
        return -1;
      x13 = XVECEXP (x11, 0, 1);
      if (!rtx_equal_p (x13, operands[3]))
        return -1;
      switch (XINT (x3, 1))
        {
        case 73:
          if (XINT (x10, 1) != 74
              || !
#line 14391 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_finite_math_only))
            return -1;
          return 836; /* fpremxf4_i387 */

        case 75:
          if (XINT (x10, 1) != 76
              || !
#line 14466 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_finite_math_only))
            return -1;
          return 837; /* fprem1xf4_i387 */

        default:
          return -1;
        }

    case 4:
      if (XINT (x3, 1) != 25)
        return -1;
      x6 = XVECEXP (x3, 0, 0);
      if (GET_CODE (x6) != MEM
          || GET_MODE (x6) != BLKmode
          || pattern142 (x1, CLOBBER) != 0)
        return -1;
      switch (pattern551 (x1))
        {
        case 0:
          if (!(
#line 16894 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])
   && ix86_check_no_addr_space (insn)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
            return -1;
          return 955; /* *strlenqi_1 */

        case 1:
          if (!(
#line 16894 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])
   && ix86_check_no_addr_space (insn)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
            return -1;
          return 956; /* *strlenqi_1 */

        default:
          return -1;
        }

    case 5:
      if (XINT (x3, 1) != 122)
        return -1;
      if (GET_MODE (x3) == SImode
          && pattern328 (x1) == 0
          && 
#line 15738 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_2
   && can_create_pseudo_p ()))
        return 3927; /* sse4_2_pcmpestr */
      if (GET_MODE (x3) != CCmode
          || pattern329 (x1) != 0
          || !register_operand (operands[3], SImode))
        return -1;
      x14 = XVECEXP (x3, 0, 2);
      operands[4] = x14;
      if (!nonimmediate_operand (operands[4], V16QImode))
        return -1;
      x15 = XVECEXP (x3, 0, 3);
      operands[5] = x15;
      if (!register_operand (operands[5], SImode))
        return -1;
      x16 = XVECEXP (x3, 0, 4);
      operands[6] = x16;
      if (!const_0_to_255_operand (operands[6], SImode))
        return -1;
      x4 = XVECEXP (x1, 0, 1);
      x7 = XEXP (x4, 0);
      operands[0] = x7;
      if (!scratch_operand (operands[0], V16QImode))
        return -1;
      x5 = XVECEXP (x1, 0, 2);
      x8 = XEXP (x5, 0);
      operands[1] = x8;
      if (!scratch_operand (operands[1], SImode)
          || !
#line 15840 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_2))
        return -1;
      return 3930; /* sse4_2_pcmpestr_cconly */

    case 3:
      if (XINT (x3, 1) != 123)
        return -1;
      if (GET_MODE (x3) == SImode
          && pattern330 (x1) == 0
          && 
#line 15874 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_2
   && can_create_pseudo_p ()))
        return 3931; /* sse4_2_pcmpistr */
      if (GET_MODE (x3) != CCmode
          || pattern329 (x1) != 0
          || !nonimmediate_operand (operands[3], V16QImode))
        return -1;
      x14 = XVECEXP (x3, 0, 2);
      operands[4] = x14;
      if (!const_0_to_255_operand (operands[4], SImode))
        return -1;
      x4 = XVECEXP (x1, 0, 1);
      x7 = XEXP (x4, 0);
      operands[0] = x7;
      if (!scratch_operand (operands[0], V16QImode))
        return -1;
      x5 = XVECEXP (x1, 0, 2);
      x8 = XEXP (x5, 0);
      operands[1] = x8;
      if (!scratch_operand (operands[1], SImode)
          || !
#line 15963 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_2))
        return -1;
      return 3934; /* sse4_2_pcmpistr_cconly */

    default:
      return -1;
    }
}

static int
recog_251 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != SET)
    return -1;
  x3 = XVECEXP (x1, 0, 0);
  x4 = XEXP (x3, 0);
  operands[0] = x4;
  x5 = XEXP (x3, 1);
  switch (XVECLEN (x5, 0))
    {
    case 1:
      if (XINT (x5, 1) != 9
          || GET_MODE (x5) != DImode)
        return -1;
      x6 = XVECEXP (x5, 0, 0);
      if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x7 = XEXP (x2, 1);
      if (pattern186 (x7, DImode, 9, UNSPEC_VOLATILE, 1) != 0)
        return -1;
      x8 = XVECEXP (x7, 0, 0);
      if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      x9 = XVECEXP (x1, 0, 2);
      if (GET_CODE (x9) != SET)
        return -1;
      x10 = XEXP (x9, 1);
      if (GET_CODE (x10) != UNSPEC_VOLATILE
          || XVECLEN (x10, 0) != 1
          || XINT (x10, 1) != 9
          || GET_MODE (x10) != SImode)
        return -1;
      x11 = XVECEXP (x10, 0, 0);
      if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
          || !register_operand (operands[0], DImode))
        return -1;
      x12 = XEXP (x2, 0);
      operands[1] = x12;
      if (!register_operand (operands[1], DImode))
        return -1;
      x13 = XEXP (x9, 0);
      operands[2] = x13;
      if (!register_operand (operands[2], SImode)
          || !
#line 18844 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
        return -1;
      return 1014; /* rdtscp_rex64 */

    case 5:
      if (pattern331 (x1) != 0)
        return -1;
      x14 = XVECEXP (x5, 0, 4);
      operands[5] = x14;
      if (!const_int_operand (operands[5], SImode))
        return -1;
      x12 = XEXP (x2, 0);
      if (!rtx_equal_p (x12, operands[1]))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case DImode:
          if (pattern955 (x1, DImode, SImode) != 0
              || !(
#line 492 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sync.md"
(TARGET_CMPXCHG8B) && 
#line 1041 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT)))
            return -1;
          return 4968; /* atomic_compare_and_swapdi_doubleword */

        case TImode:
          if (pattern955 (x1, TImode, DImode) != 0
              || !(
#line 492 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sync.md"
(TARGET_CMPXCHG16B) && 
#line 1042 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          return 4969; /* atomic_compare_and_swapti_doubleword */

        default:
          return -1;
        }

    case 4:
      if (pattern331 (x1) != 0
          || !const_int_operand (operands[4], SImode))
        return -1;
      x12 = XEXP (x2, 0);
      if (!rtx_equal_p (x12, operands[1]))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case QImode:
          if (pattern948 (x1, QImode) != 0
              || !
#line 507 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sync.md"
(TARGET_CMPXCHG))
            return -1;
          return 4970; /* atomic_compare_and_swapqi_1 */

        case HImode:
          if (pattern948 (x1, HImode) != 0
              || !
#line 507 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sync.md"
(TARGET_CMPXCHG))
            return -1;
          return 4971; /* atomic_compare_and_swaphi_1 */

        case SImode:
          if (pattern948 (x1, SImode) != 0
              || !
#line 507 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sync.md"
(TARGET_CMPXCHG))
            return -1;
          return 4972; /* atomic_compare_and_swapsi_1 */

        case DImode:
          if (pattern948 (x1, DImode) != 0
              || !(
#line 507 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sync.md"
(TARGET_CMPXCHG) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          return 4973; /* atomic_compare_and_swapdi_1 */

        default:
          return -1;
        }

    case 2:
      if (XINT (x5, 1) != 63)
        return -1;
      x7 = XEXP (x2, 1);
      if (GET_CODE (x7) != PLUS)
        return -1;
      x9 = XVECEXP (x1, 0, 2);
      if (pattern279 (x9, CCmode) != 0)
        return -1;
      x6 = XVECEXP (x5, 0, 0);
      operands[1] = x6;
      x15 = XVECEXP (x5, 0, 1);
      operands[3] = x15;
      if (!const_int_operand (operands[3], SImode))
        return -1;
      x16 = XEXP (x7, 1);
      operands[2] = x16;
      x17 = XEXP (x7, 0);
      if (!rtx_equal_p (x17, operands[1]))
        return -1;
      x12 = XEXP (x2, 0);
      if (!rtx_equal_p (x12, operands[1]))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case QImode:
          if (pattern771 (x1, QImode) != 0
              || !
#line 523 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sync.md"
(TARGET_XADD))
            return -1;
          return 4974; /* atomic_fetch_addqi */

        case HImode:
          if (pattern771 (x1, HImode) != 0
              || !
#line 523 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sync.md"
(TARGET_XADD))
            return -1;
          return 4975; /* atomic_fetch_addhi */

        case SImode:
          if (pattern771 (x1, SImode) != 0
              || !
#line 523 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sync.md"
(TARGET_XADD))
            return -1;
          return 4976; /* atomic_fetch_addsi */

        case DImode:
          if (pattern771 (x1, DImode) != 0
              || !(
#line 523 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sync.md"
(TARGET_XADD) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return -1;
          return 4977; /* atomic_fetch_adddi */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_252 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) != DImode)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != TRUNCATE
      || GET_MODE (x4) != SImode)
    return -1;
  x5 = XEXP (x4, 0);
  if (GET_CODE (x5) != LSHIFTRT
      || GET_MODE (x5) != DImode)
    return -1;
  x6 = XEXP (x5, 0);
  if (GET_CODE (x6) != MULT
      || GET_MODE (x6) != DImode)
    return -1;
  x7 = XEXP (x5, 1);
  if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 32])
    return -1;
  x8 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x8) != CLOBBER)
    return -1;
  x9 = XVECEXP (x1, 0, 2);
  if (GET_CODE (x9) != CLOBBER)
    return -1;
  x10 = XEXP (x9, 0);
  if (GET_CODE (x10) != REG
      || REGNO (x10) != 17
      || GET_MODE (x10) != CCmode)
    return -1;
  x11 = XEXP (x2, 0);
  operands[0] = x11;
  if (!register_operand (operands[0], DImode))
    return -1;
  x12 = XEXP (x6, 0);
  if (GET_MODE (x12) != DImode)
    return -1;
  x13 = XEXP (x6, 1);
  if (GET_MODE (x13) != DImode)
    return -1;
  x14 = XEXP (x8, 0);
  operands[3] = x14;
  if (!scratch_operand (operands[3], SImode))
    return -1;
  switch (GET_CODE (x12))
    {
    case SIGN_EXTEND:
      if (GET_CODE (x13) != SIGN_EXTEND)
        return -1;
      x15 = XEXP (x12, 0);
      operands[1] = x15;
      if (!nonimmediate_operand (operands[1], SImode))
        return -1;
      x16 = XEXP (x13, 0);
      operands[2] = x16;
      if (!nonimmediate_operand (operands[2], SImode)
          || !
#line 7417 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
        return -1;
      return 353; /* *smulsi3_highpart_zext */

    case ZERO_EXTEND:
      if (GET_CODE (x13) != ZERO_EXTEND)
        return -1;
      x15 = XEXP (x12, 0);
      operands[1] = x15;
      if (!nonimmediate_operand (operands[1], SImode))
        return -1;
      x16 = XEXP (x13, 0);
      operands[2] = x16;
      if (!nonimmediate_operand (operands[2], SImode)
          || !
#line 7417 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
        return -1;
      return 354; /* *umulsi3_highpart_zext */

    default:
      return -1;
    }
}

static int
recog_253 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19, x20, x21, x22, x23, x24, x25;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  switch (GET_CODE (x2))
    {
    case SET:
      x3 = XEXP (x2, 1);
      switch (GET_CODE (x3))
        {
        case SIGN_EXTEND:
          if (GET_MODE (x3) != DImode)
            return -1;
          x4 = XVECEXP (x1, 0, 1);
          if (pattern115 (x4, CCmode, 17) != 0)
            return -1;
          x5 = XVECEXP (x1, 0, 2);
          if (GET_CODE (x5) != CLOBBER)
            return -1;
          x6 = XEXP (x2, 0);
          operands[0] = x6;
          if (!nonimmediate_operand (operands[0], DImode))
            return -1;
          x7 = XEXP (x3, 0);
          operands[1] = x7;
          if (!register_operand (operands[1], SImode))
            return -1;
          x8 = XEXP (x5, 0);
          operands[2] = x8;
          if (!scratch_operand (operands[2], SImode)
              || !
#line 4041 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT))
            return -1;
          return 146; /* extendsidi2_1 */

        case FIX:
          x6 = XEXP (x2, 0);
          operands[0] = x6;
          x7 = XEXP (x3, 0);
          operands[1] = x7;
          if (!register_operand (operands[1], VOIDmode))
            return -1;
          x4 = XVECEXP (x1, 0, 1);
          switch (GET_CODE (x4))
            {
            case CLOBBER:
              x5 = XVECEXP (x1, 0, 2);
              if (GET_CODE (x5) != CLOBBER)
                return -1;
              x9 = XEXP (x4, 0);
              operands[2] = x9;
              x8 = XEXP (x5, 0);
              operands[3] = x8;
              if (!scratch_operand (operands[3], XFmode))
                return -1;
              switch (pattern578 (x3))
                {
                case 0:
                  if (!
#line 4920 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
                  return 180; /* fix_trunchi_i387_fisttp_with_temp */

                case 1:
                  if (!
#line 4920 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
                  return 181; /* fix_truncsi_i387_fisttp_with_temp */

                case 2:
                  if (!
#line 4920 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
                  return 182; /* fix_truncdi_i387_fisttp_with_temp */

                default:
                  return -1;
                }

            case USE:
              x5 = XVECEXP (x1, 0, 2);
              if (GET_CODE (x5) != USE)
                return -1;
              switch (pattern277 (x1, pnum_clobbers))
                {
                case 0:
                  if (!
#line 4992 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
                  *pnum_clobbers = 1;
                  return 186; /* fix_truncdi_i387 */

                case 1:
                  if (!
#line 5047 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && !TARGET_FISTTP
   && !SSE_FLOAT_MODE_P (GET_MODE (operands[1]))))
                    return -1;
                  return 188; /* fix_trunchi_i387 */

                case 2:
                  if (!
#line 5047 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && !TARGET_FISTTP
   && !SSE_FLOAT_MODE_P (GET_MODE (operands[1]))))
                    return -1;
                  return 189; /* fix_truncsi_i387 */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case UNSIGNED_FLOAT:
          switch (pattern127 (x1))
            {
            case 0:
              if (!
#line 5398 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT
   && TARGET_80387 && X87_ENABLE_FLOAT (SFmode, DImode)
   && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES_TO_VEC))
                return -1;
              return 210; /* *floatunssisf2_i387_with_xmm */

            case 1:
              if (!
#line 5398 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT
   && TARGET_80387 && X87_ENABLE_FLOAT (DFmode, DImode)
   && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES_TO_VEC))
                return -1;
              return 211; /* *floatunssidf2_i387_with_xmm */

            case 2:
              if (!
#line 5398 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT
   && TARGET_80387 && X87_ENABLE_FLOAT (XFmode, DImode)
   && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES_TO_VEC))
                return -1;
              return 212; /* *floatunssixf2_i387_with_xmm */

            default:
              return -1;
            }

        case EQ:
          if (GET_MODE (x3) != CCOmode)
            return -1;
          x7 = XEXP (x3, 0);
          if (GET_CODE (x7) != MULT)
            return -1;
          x10 = XEXP (x7, 0);
          if (GET_CODE (x10) != ZERO_EXTEND)
            return -1;
          x11 = XEXP (x7, 1);
          if (GET_CODE (x11) != ZERO_EXTEND)
            return -1;
          x12 = XEXP (x3, 1);
          if (GET_CODE (x12) != ZERO_EXTEND)
            return -1;
          x13 = XEXP (x12, 0);
          if (GET_CODE (x13) != MULT
              || pattern274 (x1, CLOBBER, MULT, CCOmode) != 0)
            return -1;
          x14 = XEXP (x10, 0);
          operands[1] = x14;
          x15 = XEXP (x11, 0);
          operands[2] = x15;
          x4 = XVECEXP (x1, 0, 1);
          x9 = XEXP (x4, 0);
          operands[0] = x9;
          x5 = XVECEXP (x1, 0, 2);
          x8 = XEXP (x5, 0);
          operands[3] = x8;
          x16 = XEXP (x13, 0);
          if (!rtx_equal_p (x16, operands[1]))
            return -1;
          x17 = XEXP (x13, 1);
          if (!rtx_equal_p (x17, operands[2]))
            return -1;
          x18 = XEXP (x4, 1);
          x19 = XEXP (x18, 0);
          if (!rtx_equal_p (x19, operands[1]))
            return -1;
          x20 = XEXP (x18, 1);
          if (!rtx_equal_p (x20, operands[2]))
            return -1;
          switch (GET_MODE (x7))
            {
            case SImode:
              if (pattern930 (x1, HImode, SImode) != 0
                  || !
#line 7180 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))))
                return -1;
              return 338; /* *umulvhi4 */

            case DImode:
              if (pattern930 (x1, SImode, DImode) != 0
                  || !
#line 7180 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))))
                return -1;
              return 339; /* *umulvsi4 */

            case TImode:
              if (pattern930 (x1, DImode, TImode) != 0
                  || !(
#line 7180 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))) && 
#line 986 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              return 340; /* *umulvdi4 */

            default:
              return -1;
            }

        case TRUNCATE:
          x7 = XEXP (x3, 0);
          if (GET_CODE (x7) != LSHIFTRT)
            return -1;
          x10 = XEXP (x7, 0);
          if (GET_CODE (x10) != MULT)
            return -1;
          x11 = XEXP (x7, 1);
          if (GET_CODE (x11) != CONST_INT
              || pattern142 (x1, CLOBBER) != 0)
            return -1;
          x4 = XVECEXP (x1, 0, 1);
          x9 = XEXP (x4, 0);
          operands[3] = x9;
          x14 = XEXP (x10, 0);
          switch (GET_CODE (x14))
            {
            case SIGN_EXTEND:
              switch (pattern714 (x3, SIGN_EXTEND))
                {
                case 0:
                  if (!
#line 7393 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
                    return -1;
                  return 351; /* *smuldi3_highpart_1 */

                case 1:
                  if (!
#line 7442 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))))
                    return -1;
                  return 355; /* *smulsi3_highpart_1 */

                default:
                  return -1;
                }

            case ZERO_EXTEND:
              switch (pattern714 (x3, ZERO_EXTEND))
                {
                case 0:
                  if (!
#line 7393 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT
   && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
                    return -1;
                  return 352; /* *umuldi3_highpart_1 */

                case 1:
                  if (!
#line 7442 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(MEM_P (operands[1]) && MEM_P (operands[2]))))
                    return -1;
                  return 356; /* *umulsi3_highpart_1 */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case ZERO_EXTEND:
          return recog_252 (x1, insn, pnum_clobbers);

        case DIV:
          x4 = XVECEXP (x1, 0, 1);
          if (GET_CODE (x4) != SET)
            return -1;
          x18 = XEXP (x4, 1);
          if (GET_CODE (x18) != MOD)
            return -1;
          x6 = XEXP (x2, 0);
          operands[0] = x6;
          x7 = XEXP (x3, 0);
          operands[2] = x7;
          x12 = XEXP (x3, 1);
          operands[3] = x12;
          x9 = XEXP (x4, 0);
          operands[1] = x9;
          x19 = XEXP (x18, 0);
          if (!rtx_equal_p (x19, operands[2]))
            return -1;
          x20 = XEXP (x18, 1);
          if (!rtx_equal_p (x20, operands[3]))
            return -1;
          switch (pattern585 (x1, pnum_clobbers))
            {
            case 0:
              *pnum_clobbers = 1;
              return 357; /* divmodsi4_1 */

            case 1:
              if (!
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
                return -1;
              *pnum_clobbers = 1;
              return 358; /* divmoddi4_1 */

            case 2:
              if (!
#line 1012 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_HIMODE_MATH))
                return -1;
              return 359; /* *divmodhi4 */

            case 3:
              return 360; /* *divmodsi4 */

            case 4:
              if (!
#line 1013 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
                return -1;
              return 361; /* *divmoddi4 */

            case 5:
              if (!
#line 1012 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_HIMODE_MATH))
                return -1;
              *pnum_clobbers = 1;
              return 362; /* *divmodhi4_noext */

            case 6:
              *pnum_clobbers = 1;
              return 363; /* *divmodsi4_noext */

            case 7:
              if (!
#line 1013 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
                return -1;
              *pnum_clobbers = 1;
              return 364; /* *divmoddi4_noext */

            default:
              return -1;
            }

        case UDIV:
          switch (pattern128 (x1))
            {
            case 0:
              switch (pattern585 (x1, pnum_clobbers))
                {
                case 0:
                  *pnum_clobbers = 1;
                  return 366; /* udivmodsi4_1 */

                case 1:
                  if (!
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
                    return -1;
                  *pnum_clobbers = 1;
                  return 367; /* udivmoddi4_1 */

                case 2:
                  if (!
#line 1012 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_HIMODE_MATH))
                    return -1;
                  return 368; /* *udivmodhi4 */

                case 3:
                  return 369; /* *udivmodsi4 */

                case 4:
                  if (!
#line 1013 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
                    return -1;
                  return 370; /* *udivmoddi4 */

                case 5:
                  if (!
#line 1012 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_HIMODE_MATH))
                    return -1;
                  *pnum_clobbers = 1;
                  return 373; /* *udivmodhi4_noext */

                case 6:
                  *pnum_clobbers = 1;
                  return 374; /* *udivmodsi4_noext */

                case 7:
                  if (!
#line 1013 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
                    return -1;
                  *pnum_clobbers = 1;
                  return 375; /* *udivmoddi4_noext */

                default:
                  return -1;
                }

            case 1:
              x5 = XVECEXP (x1, 0, 2);
              if (pattern279 (x5, CCmode) != 0)
                return -1;
              switch (GET_MODE (operands[0]))
                {
                case SImode:
                  if (pattern707 (x1, SImode) != 0
                      || !
#line 7754 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(IN_RANGE (INTVAL (operands[3]), 2, HOST_WIDE_INT_UC (0x80000000))
   && (UINTVAL (operands[3]) & (UINTVAL (operands[3]) - 1)) == 0))
                    return -1;
                  return 371; /* *udivmodsi4_pow2 */

                case DImode:
                  if (pattern707 (x1, DImode) != 0
                      || !(
#line 7754 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(IN_RANGE (INTVAL (operands[3]), 2, HOST_WIDE_INT_UC (0x80000000))
   && (UINTVAL (operands[3]) & (UINTVAL (operands[3]) - 1)) == 0) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                    return -1;
                  return 372; /* *udivmoddi4_pow2 */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case NEG:
        case ABS:
          operands[3] = x3;
          x4 = XVECEXP (x1, 0, 1);
          if (GET_CODE (x4) != USE)
            return -1;
          x5 = XVECEXP (x1, 0, 2);
          if (pattern140 (x5) != 0)
            return -1;
          x6 = XEXP (x2, 0);
          operands[0] = x6;
          x7 = XEXP (x3, 0);
          operands[1] = x7;
          x9 = XEXP (x4, 0);
          operands[2] = x9;
          switch (GET_MODE (operands[0]))
            {
            case SFmode:
              if (pattern547 (V4SFmode, SFmode) != 0
                  || !
#line 9131 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 || (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)))
                return -1;
              return 470; /* *absnegsf2 */

            case DFmode:
              if (pattern547 (V2DFmode, DFmode) != 0
                  || !
#line 9131 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 || (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)))
                return -1;
              return 471; /* *absnegdf2 */

            case XFmode:
              if (!register_operand (operands[0], XFmode)
                  || !absneg_operator (operands[3], XFmode)
                  || !register_operand (operands[1], XFmode)
                  || !
#line 9151 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387))
                return -1;
              return 472; /* *absnegxf2_i387 */

            case TFmode:
              if (pattern548 () != 0
                  || !
#line 9166 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_SSE))
                return -1;
              return 473; /* *absnegtf2_sse */

            default:
              return -1;
            }

        case ROTATE:
          switch (pattern129 (x1))
            {
            case 0:
              if (!
#line 1041 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT))
                return -1;
              return 580; /* ix86_rotldi3_doubleword */

            case 1:
              if (!
#line 1042 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
                return -1;
              return 581; /* ix86_rotlti3_doubleword */

            default:
              return -1;
            }

        case ROTATERT:
          switch (pattern129 (x1))
            {
            case 0:
              if (!
#line 1041 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT))
                return -1;
              return 582; /* ix86_rotrdi3_doubleword */

            case 1:
              if (!
#line 1042 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
                return -1;
              return 583; /* ix86_rotrti3_doubleword */

            default:
              return -1;
            }

        case CALL:
          x7 = XEXP (x3, 0);
          if (GET_CODE (x7) != MEM
              || GET_MODE (x7) != QImode
              || pattern188 (x1) != 0)
            return -1;
          x6 = XEXP (x2, 0);
          operands[0] = x6;
          x10 = XEXP (x7, 0);
          operands[1] = x10;
          if (!memory_operand (operands[1], SImode))
            return -1;
          x12 = XEXP (x3, 1);
          operands[2] = x12;
          x4 = XVECEXP (x1, 0, 1);
          x18 = XEXP (x4, 1);
          x20 = XEXP (x18, 1);
          operands[3] = x20;
          if (!immediate_operand (operands[3], SImode)
              || !
#line 12161 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT))
            return -1;
          return 675; /* *sibcall_value_pop_memory */

        case PLUS:
          x5 = XVECEXP (x1, 0, 2);
          if (pattern130 (x5) != 0)
            return -1;
          x7 = XEXP (x3, 0);
          if (GET_CODE (x7) == REG
              && REGNO (x7) == 6)
            {
              x12 = XEXP (x3, 1);
              if (GET_CODE (x12) == CONST_INT)
                {
                  x6 = XEXP (x2, 0);
                  if (GET_CODE (x6) == REG
                      && REGNO (x6) == 7)
                    {
                      x4 = XVECEXP (x1, 0, 1);
                      if (pattern335 (x4, 6, MEM) == 0)
                        {
                          switch (XWINT (x12, 0))
                            {
                            case 4LL:
                              if (pattern848 (x1, SImode) == 0
                                  && 
#line 12547 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT))
                                return 693; /* leave */
                              break;

                            case 8LL:
                              if (pattern848 (x1, DImode) == 0
                                  && 
#line 12555 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
                                return 694; /* leave_rex64 */
                              break;

                            default:
                              break;
                            }
                        }
                    }
                }
            }
          x4 = XVECEXP (x1, 0, 1);
          if (GET_CODE (x4) != CLOBBER)
            return -1;
          x9 = XEXP (x4, 0);
          if (GET_CODE (x9) != REG
              || REGNO (x9) != 17
              || GET_MODE (x9) != CCmode)
            return -1;
          x6 = XEXP (x2, 0);
          operands[0] = x6;
          operands[1] = x7;
          x12 = XEXP (x3, 1);
          operands[2] = x12;
          switch (GET_MODE (operands[0]))
            {
            case SImode:
              if (pattern691 (x3, SImode) != 0
                  || !
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))
                return -1;
              return 981; /* pro_epilogue_adjust_stack_si_add */

            case DImode:
              if (pattern691 (x3, DImode) != 0
                  || !
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))
                return -1;
              return 982; /* pro_epilogue_adjust_stack_di_add */

            default:
              return -1;
            }

        case FFS:
          if (pattern131 (x1) != 0
              || !
#line 12653 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_CMOVE))
            return -1;
          return 696; /* ffssi2_no_cmove */

        case COMPARE:
          if (GET_MODE (x3) != CCCmode)
            return -1;
          x12 = XEXP (x3, 1);
          if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
              || pattern274 (x1, UNSPEC, CTZ, CCCmode) != 0)
            return -1;
          x5 = XVECEXP (x1, 0, 2);
          if (XVECLEN (x5, 0) != 1
              || XINT (x5, 1) != 40)
            return -1;
          x7 = XEXP (x3, 0);
          operands[1] = x7;
          x4 = XVECEXP (x1, 0, 1);
          x9 = XEXP (x4, 0);
          operands[0] = x9;
          x21 = XVECEXP (x5, 0, 0);
          operands[2] = x21;
          x18 = XEXP (x4, 1);
          x19 = XEXP (x18, 0);
          if (!rtx_equal_p (x19, operands[1]))
            return -1;
          switch (GET_MODE (operands[1]))
            {
            case SImode:
              if (pattern818 (x18, SImode) != 0
                  || !
#line 12711 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI))
                return -1;
              return 699; /* *tzcntsi_1_falsedep */

            case DImode:
              if (pattern818 (x18, DImode) != 0
                  || !(
#line 12711 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              return 700; /* *tzcntdi_1_falsedep */

            default:
              return -1;
            }

        case CTZ:
          switch (pattern132 (x1))
            {
            case 0:
              return 705; /* *ctzsi2_falsedep */

            case 1:
              if (!
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
                return -1;
              return 706; /* *ctzdi2_falsedep */

            default:
              return -1;
            }

        case CLZ:
          switch (pattern132 (x1))
            {
            case 0:
              if (!
#line 12882 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_LZCNT))
                return -1;
              return 712; /* *clzsi2_lzcnt_falsedep */

            case 1:
              if (!(
#line 12882 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_LZCNT) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              return 713; /* *clzdi2_lzcnt_falsedep */

            default:
              return -1;
            }

        case UNSPEC:
          return recog_250 (x1, insn, pnum_clobbers);

        case POPCOUNT:
          switch (pattern132 (x1))
            {
            case 0:
              if (!
#line 13283 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_POPCNT))
                return -1;
              return 766; /* *popcountsi2_falsedep */

            case 1:
              if (!(
#line 13283 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_POPCNT) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return -1;
              return 767; /* *popcountdi2_falsedep */

            default:
              return -1;
            }

        case MEM:
          if (pattern133 (x1) != 0)
            return -1;
          x5 = XVECEXP (x1, 0, 2);
          if (GET_CODE (x5) != SET)
            return -1;
          x22 = XEXP (x5, 1);
          if (GET_CODE (x22) != PLUS)
            return -1;
          x23 = XEXP (x22, 1);
          if (GET_CODE (x23) != CONST_INT)
            return -1;
          x6 = XEXP (x2, 0);
          x24 = XEXP (x6, 0);
          operands[2] = x24;
          x7 = XEXP (x3, 0);
          operands[3] = x7;
          x4 = XVECEXP (x1, 0, 1);
          x9 = XEXP (x4, 0);
          operands[0] = x9;
          x8 = XEXP (x5, 0);
          operands[1] = x8;
          x18 = XEXP (x4, 1);
          x19 = XEXP (x18, 0);
          if (!rtx_equal_p (x19, operands[2]))
            return -1;
          x25 = XEXP (x22, 0);
          if (!rtx_equal_p (x25, operands[3]))
            return -1;
          x20 = XEXP (x18, 1);
          switch (XWINT (x20, 0))
            {
            case 8LL:
              if (XWINT (x23, 0) != 8LL)
                return -1;
              switch (pattern820 (x1, DImode))
                {
                case 0:
                  if (!(
#line 16342 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT
   && !(fixed_regs[SI_REG] || fixed_regs[DI_REG])
   && ix86_check_no_addr_space (insn)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  return 923; /* *strmovdi_rex_1 */

                case 1:
                  if (!(
#line 16342 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT
   && !(fixed_regs[SI_REG] || fixed_regs[DI_REG])
   && ix86_check_no_addr_space (insn)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  return 924; /* *strmovdi_rex_1 */

                default:
                  return -1;
                }

            case 4LL:
              if (XWINT (x23, 0) != 4LL)
                return -1;
              switch (pattern820 (x1, SImode))
                {
                case 0:
                  if (!(
#line 16359 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(fixed_regs[SI_REG] || fixed_regs[DI_REG])
   && ix86_check_no_addr_space (insn)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  return 925; /* *strmovsi_1 */

                case 1:
                  if (!(
#line 16359 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(fixed_regs[SI_REG] || fixed_regs[DI_REG])
   && ix86_check_no_addr_space (insn)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  return 926; /* *strmovsi_1 */

                default:
                  return -1;
                }

            case 2LL:
              if (XWINT (x23, 0) != 2LL)
                return -1;
              switch (pattern820 (x1, HImode))
                {
                case 0:
                  if (!(
#line 16375 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(fixed_regs[SI_REG] || fixed_regs[DI_REG])
   && ix86_check_no_addr_space (insn)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  return 927; /* *strmovhi_1 */

                case 1:
                  if (!(
#line 16375 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(fixed_regs[SI_REG] || fixed_regs[DI_REG])
   && ix86_check_no_addr_space (insn)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  return 928; /* *strmovhi_1 */

                default:
                  return -1;
                }

            case 1LL:
              if (XWINT (x23, 0) != 1LL)
                return -1;
              switch (pattern820 (x1, QImode))
                {
                case 0:
                  if (!(
#line 16391 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(fixed_regs[SI_REG] || fixed_regs[DI_REG])
   && ix86_check_no_addr_space (insn)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  return 929; /* *strmovqi_1 */

                case 1:
                  if (!(
#line 16391 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(fixed_regs[SI_REG] || fixed_regs[DI_REG])
   && ix86_check_no_addr_space (insn)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  return 930; /* *strmovqi_1 */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case REG:
        case SUBREG:
          operands[2] = x3;
          if (pattern133 (x1) != 0)
            return -1;
          x5 = XVECEXP (x1, 0, 2);
          if (pattern187 (x5, 38) != 0)
            return -1;
          x6 = XEXP (x2, 0);
          x24 = XEXP (x6, 0);
          operands[1] = x24;
          x4 = XVECEXP (x1, 0, 1);
          x9 = XEXP (x4, 0);
          operands[0] = x9;
          x18 = XEXP (x4, 1);
          x19 = XEXP (x18, 0);
          if (!rtx_equal_p (x19, operands[1]))
            return -1;
          x20 = XEXP (x18, 1);
          switch (XWINT (x20, 0))
            {
            case 8LL:
              switch (pattern774 (x1, DImode))
                {
                case 0:
                  if (!(
#line 16551 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT
   && !(fixed_regs[AX_REG] || fixed_regs[DI_REG])
   && ix86_check_no_addr_space (insn)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  return 937; /* *strsetdi_rex_1 */

                case 1:
                  if (!(
#line 16551 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT
   && !(fixed_regs[AX_REG] || fixed_regs[DI_REG])
   && ix86_check_no_addr_space (insn)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  return 938; /* *strsetdi_rex_1 */

                default:
                  return -1;
                }

            case 4LL:
              switch (pattern774 (x1, SImode))
                {
                case 0:
                  if (!(
#line 16566 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(fixed_regs[AX_REG] || fixed_regs[DI_REG])
   && ix86_check_no_addr_space (insn)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  return 939; /* *strsetsi_1 */

                case 1:
                  if (!(
#line 16566 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(fixed_regs[AX_REG] || fixed_regs[DI_REG])
   && ix86_check_no_addr_space (insn)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  return 940; /* *strsetsi_1 */

                default:
                  return -1;
                }

            case 2LL:
              switch (pattern774 (x1, HImode))
                {
                case 0:
                  if (!(
#line 16580 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(fixed_regs[AX_REG] || fixed_regs[DI_REG])
   && ix86_check_no_addr_space (insn)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  return 941; /* *strsethi_1 */

                case 1:
                  if (!(
#line 16580 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(fixed_regs[AX_REG] || fixed_regs[DI_REG])
   && ix86_check_no_addr_space (insn)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  return 942; /* *strsethi_1 */

                default:
                  return -1;
                }

            case 1LL:
              switch (pattern774 (x1, QImode))
                {
                case 0:
                  if (!(
#line 16594 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(fixed_regs[AX_REG] || fixed_regs[DI_REG])
   && ix86_check_no_addr_space (insn)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  return 943; /* *strsetqi_1 */

                case 1:
                  if (!(
#line 16594 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(fixed_regs[AX_REG] || fixed_regs[DI_REG])
   && ix86_check_no_addr_space (insn)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  return 944; /* *strsetqi_1 */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case MINUS:
          if (pattern134 (x1) != 0)
            return -1;
          x6 = XEXP (x2, 0);
          operands[0] = x6;
          x7 = XEXP (x3, 0);
          operands[1] = x7;
          x12 = XEXP (x3, 1);
          operands[2] = x12;
          switch (GET_MODE (operands[0]))
            {
            case SImode:
              if (pattern123 (x3, SImode) != 0
                  || !
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))
                return -1;
              return 983; /* pro_epilogue_adjust_stack_si_sub */

            case DImode:
              if (pattern123 (x3, DImode) != 0
                  || !
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))
                return -1;
              return 984; /* pro_epilogue_adjust_stack_di_sub */

            default:
              return -1;
            }

        case UNSPEC_VOLATILE:
          return recog_251 (x1, insn, pnum_clobbers);

        default:
          return -1;
        }

    case CALL:
      x6 = XEXP (x2, 0);
      if (GET_CODE (x6) != MEM
          || GET_MODE (x6) != QImode
          || pattern188 (x1) != 0)
        return -1;
      x24 = XEXP (x6, 0);
      operands[0] = x24;
      if (!memory_operand (operands[0], SImode))
        return -1;
      x3 = XEXP (x2, 1);
      operands[1] = x3;
      x4 = XVECEXP (x1, 0, 1);
      x18 = XEXP (x4, 1);
      x20 = XEXP (x18, 1);
      operands[2] = x20;
      if (!immediate_operand (operands[2], SImode)
          || !
#line 11948 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT))
        return -1;
      return 664; /* *sibcall_pop_memory */

    default:
      return -1;
    }
}

static int
recog_254 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19, x20, x21, x22, x23;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  if (GET_CODE (x2) != SET)
    return -1;
  x3 = XVECEXP (x1, 0, 3);
  if (GET_CODE (x3) != CLOBBER)
    return -1;
  x4 = XEXP (x2, 1);
  switch (GET_CODE (x4))
    {
    case UNSIGNED_FIX:
      switch (pattern190 (x1))
        {
        case 0:
          if (!
#line 4823 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_SSE2 && TARGET_SSE_MATH
   && optimize_function_for_speed_p (cfun)))
            return -1;
          return 168; /* *fixuns_truncsf_1 */

        case 1:
          if (!
#line 4823 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_SSE2 && TARGET_SSE_MATH
   && optimize_function_for_speed_p (cfun)))
            return -1;
          return 169; /* *fixuns_truncdf_1 */

        default:
          return -1;
        }

    case FIX:
      x5 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x5) != USE)
        return -1;
      x6 = XVECEXP (x1, 0, 2);
      if (GET_CODE (x6) != USE)
        return -1;
      x7 = XEXP (x2, 0);
      operands[0] = x7;
      x8 = XEXP (x4, 0);
      operands[1] = x8;
      if (!register_operand (operands[1], VOIDmode))
        return -1;
      switch (pattern333 (x1, pnum_clobbers))
        {
        case 0:
          if (!
#line 4992 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
          return 186; /* fix_truncdi_i387 */

        case 1:
          if (!
#line 5007 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
          *pnum_clobbers = 1;
          return 187; /* fix_truncdi_i387_with_temp */

        case 2:
          if (!
#line 5061 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && !TARGET_FISTTP
   && !SSE_FLOAT_MODE_P (GET_MODE (operands[1]))))
            return -1;
          return 190; /* fix_trunchi_i387_with_temp */

        case 3:
          if (!
#line 5061 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(X87_FLOAT_MODE_P (GET_MODE (operands[1]))
   && !TARGET_FISTTP
   && !SSE_FLOAT_MODE_P (GET_MODE (operands[1]))))
            return -1;
          return 191; /* fix_truncsi_i387_with_temp */

        default:
          return -1;
        }

    case FLOAT:
      x5 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x5) != CLOBBER)
        return -1;
      x6 = XVECEXP (x1, 0, 2);
      if (GET_CODE (x6) != CLOBBER)
        return -1;
      x7 = XEXP (x2, 0);
      operands[0] = x7;
      x8 = XEXP (x4, 0);
      operands[1] = x8;
      if (!nonimmediate_operand (operands[1], DImode))
        return -1;
      x9 = XEXP (x5, 0);
      operands[3] = x9;
      if (!scratch_operand (operands[3], V4SImode))
        return -1;
      x10 = XEXP (x6, 0);
      operands[4] = x10;
      if (!scratch_operand (operands[4], V4SImode))
        return -1;
      x11 = XEXP (x3, 0);
      operands[2] = x11;
      if (!memory_operand (operands[2], DImode))
        return -1;
      switch (pattern126 (x4))
        {
        case 0:
          if (!
#line 5330 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && X87_ENABLE_FLOAT (SFmode, DImode)
   && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES_TO_VEC
   && !TARGET_64BIT && optimize_function_for_speed_p (cfun)))
            return -1;
          return 207; /* floatdisf2_i387_with_xmm */

        case 1:
          if (!
#line 5330 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && X87_ENABLE_FLOAT (DFmode, DImode)
   && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES_TO_VEC
   && !TARGET_64BIT && optimize_function_for_speed_p (cfun)))
            return -1;
          return 208; /* floatdidf2_i387_with_xmm */

        case 2:
          if (!
#line 5330 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && X87_ENABLE_FLOAT (XFmode, DImode)
   && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES_TO_VEC
   && !TARGET_64BIT && optimize_function_for_speed_p (cfun)))
            return -1;
          return 209; /* floatdixf2_i387_with_xmm */

        default:
          return -1;
        }

    case DIV:
      switch (pattern195 (x1, MOD))
        {
        case 0:
          return 357; /* divmodsi4_1 */

        case 1:
          if (!
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
            return -1;
          return 358; /* divmoddi4_1 */

        case 2:
          if (!
#line 1012 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_HIMODE_MATH))
            return -1;
          return 362; /* *divmodhi4_noext */

        case 3:
          return 363; /* *divmodsi4_noext */

        case 4:
          if (!
#line 1013 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
            return -1;
          return 364; /* *divmoddi4_noext */

        default:
          return -1;
        }

    case UDIV:
      switch (pattern195 (x1, UMOD))
        {
        case 0:
          return 366; /* udivmodsi4_1 */

        case 1:
          if (!
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
            return -1;
          return 367; /* udivmoddi4_1 */

        case 2:
          if (!
#line 1012 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_HIMODE_MATH))
            return -1;
          return 373; /* *udivmodhi4_noext */

        case 3:
          return 374; /* *udivmodsi4_noext */

        case 4:
          if (!
#line 1013 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
            return -1;
          return 375; /* *udivmoddi4_noext */

        default:
          return -1;
        }

    case IF_THEN_ELSE:
      switch (pattern196 (x1))
        {
        case 0:
          x8 = XEXP (x4, 0);
          x12 = XEXP (x8, 1);
          operands[2] = x12;
          x11 = XEXP (x3, 0);
          operands[4] = x11;
          switch (GET_CODE (operands[2]))
            {
            case CONST_INT:
            case CONST_DOUBLE:
            case CONST_VECTOR:
              if (!ix86_fp_comparison_operator (operands[0], CCFPmode))
                return -1;
              x13 = XEXP (x4, 1);
              switch (GET_CODE (x13))
                {
                case LABEL_REF:
                  x14 = XEXP (x4, 2);
                  if (GET_CODE (x14) != PC)
                    return -1;
                  x15 = XEXP (x13, 0);
                  operands[3] = x15;
                  switch (pattern938 ())
                    {
                    case 0:
                      if (!
#line 11413 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE))
                        return -1;
                      return 619; /* *jccsf_0_i387 */

                    case 1:
                      if (!
#line 11413 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE))
                        return -1;
                      return 620; /* *jccdf_0_i387 */

                    case 2:
                      if (!
#line 11413 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE))
                        return -1;
                      return 621; /* *jccxf_0_i387 */

                    default:
                      return -1;
                    }

                case PC:
                  x14 = XEXP (x4, 2);
                  if (GET_CODE (x14) != LABEL_REF)
                    return -1;
                  x16 = XEXP (x14, 0);
                  operands[3] = x16;
                  switch (pattern938 ())
                    {
                    case 0:
                      if (!
#line 11426 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE))
                        return -1;
                      return 622; /* *jccsf_0_r_i387 */

                    case 1:
                      if (!
#line 11426 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE))
                        return -1;
                      return 623; /* *jccdf_0_r_i387 */

                    case 2:
                      if (!
#line 11426 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE))
                        return -1;
                      return 624; /* *jccxf_0_r_i387 */

                    default:
                      return -1;
                    }

                default:
                  return -1;
                }

            case REG:
            case SUBREG:
            case MEM:
              x13 = XEXP (x4, 1);
              switch (GET_CODE (x13))
                {
                case LABEL_REF:
                  x14 = XEXP (x4, 2);
                  if (GET_CODE (x14) != PC)
                    return -1;
                  x15 = XEXP (x13, 0);
                  operands[3] = x15;
                  switch (pattern931 ())
                    {
                    case 0:
                      if (!
#line 11439 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE))
                        return -1;
                      return 625; /* *jccxf_i387 */

                    case 1:
                      if (!
#line 11465 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE))
                        return -1;
                      return 627; /* *jccsf_i387 */

                    case 2:
                      if (!
#line 11465 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE))
                        return -1;
                      return 628; /* *jccdf_i387 */

                    case 3:
                      if (!
#line 11491 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE))
                        return -1;
                      return 631; /* *jccusf_i387 */

                    case 4:
                      if (!
#line 11491 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE))
                        return -1;
                      return 632; /* *jccudf_i387 */

                    case 5:
                      if (!
#line 11491 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE))
                        return -1;
                      return 633; /* *jccuxf_i387 */

                    default:
                      return -1;
                    }

                case PC:
                  x14 = XEXP (x4, 2);
                  if (GET_CODE (x14) != LABEL_REF)
                    return -1;
                  x16 = XEXP (x14, 0);
                  operands[3] = x16;
                  switch (pattern931 ())
                    {
                    case 0:
                      if (!
#line 11452 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE))
                        return -1;
                      return 626; /* *jccxf_r_i387 */

                    case 1:
                      if (!
#line 11478 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE))
                        return -1;
                      return 629; /* *jccsf_r_i387 */

                    case 2:
                      if (!
#line 11478 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE))
                        return -1;
                      return 630; /* *jccdf_r_i387 */

                    case 3:
                      if (!
#line 11504 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE))
                        return -1;
                      return 634; /* *jccusf_r_i387 */

                    case 4:
                      if (!
#line 11504 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE))
                        return -1;
                      return 635; /* *jccudf_r_i387 */

                    case 5:
                      if (!
#line 11504 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE))
                        return -1;
                      return 636; /* *jccuxf_r_i387 */

                    default:
                      return -1;
                    }

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case 1:
          if (!ix86_swapped_fp_comparison_operator (operands[0], CCFPmode))
            return -1;
          x8 = XEXP (x4, 0);
          x17 = XEXP (x8, 0);
          x18 = XEXP (x17, 0);
          operands[2] = x18;
          x12 = XEXP (x8, 1);
          operands[3] = x12;
          x11 = XEXP (x3, 0);
          operands[5] = x11;
          x13 = XEXP (x4, 1);
          switch (GET_CODE (x13))
            {
            case LABEL_REF:
              x14 = XEXP (x4, 2);
              if (GET_CODE (x14) != PC)
                return -1;
              x15 = XEXP (x13, 0);
              operands[4] = x15;
              switch (GET_MODE (operands[1]))
                {
                case SFmode:
                  switch (pattern945 (SFmode))
                    {
                    case 0:
                      if (!
#line 11561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE
   && (TARGET_USE_HIMODE_FIOP
       || optimize_function_for_size_p (cfun))))
                        return -1;
                      return 637; /* *jccsf_hi_i387 */

                    case 1:
                      if (!
#line 11561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE
   && (TARGET_USE_SIMODE_FIOP
       || optimize_function_for_size_p (cfun))))
                        return -1;
                      return 640; /* *jccsf_si_i387 */

                    default:
                      return -1;
                    }

                case DFmode:
                  switch (pattern945 (DFmode))
                    {
                    case 0:
                      if (!
#line 11561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE
   && (TARGET_USE_HIMODE_FIOP
       || optimize_function_for_size_p (cfun))))
                        return -1;
                      return 638; /* *jccdf_hi_i387 */

                    case 1:
                      if (!
#line 11561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE
   && (TARGET_USE_SIMODE_FIOP
       || optimize_function_for_size_p (cfun))))
                        return -1;
                      return 641; /* *jccdf_si_i387 */

                    default:
                      return -1;
                    }

                case XFmode:
                  switch (pattern945 (XFmode))
                    {
                    case 0:
                      if (!
#line 11561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE
   && (TARGET_USE_HIMODE_FIOP
       || optimize_function_for_size_p (cfun))))
                        return -1;
                      return 639; /* *jccxf_hi_i387 */

                    case 1:
                      if (!
#line 11561 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE
   && (TARGET_USE_SIMODE_FIOP
       || optimize_function_for_size_p (cfun))))
                        return -1;
                      return 642; /* *jccxf_si_i387 */

                    default:
                      return -1;
                    }

                default:
                  return -1;
                }

            case PC:
              x14 = XEXP (x4, 2);
              if (GET_CODE (x14) != LABEL_REF)
                return -1;
              x16 = XEXP (x14, 0);
              operands[4] = x16;
              switch (GET_MODE (operands[1]))
                {
                case SFmode:
                  switch (pattern945 (SFmode))
                    {
                    case 0:
                      if (!
#line 11578 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE
   && (TARGET_USE_HIMODE_FIOP
       || optimize_function_for_size_p (cfun))))
                        return -1;
                      return 643; /* *jccsf_hi_r_i387 */

                    case 1:
                      if (!
#line 11578 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE
   && (TARGET_USE_SIMODE_FIOP
       || optimize_function_for_size_p (cfun))))
                        return -1;
                      return 646; /* *jccsf_si_r_i387 */

                    default:
                      return -1;
                    }

                case DFmode:
                  switch (pattern945 (DFmode))
                    {
                    case 0:
                      if (!
#line 11578 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE
   && (TARGET_USE_HIMODE_FIOP
       || optimize_function_for_size_p (cfun))))
                        return -1;
                      return 644; /* *jccdf_hi_r_i387 */

                    case 1:
                      if (!
#line 11578 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE
   && (TARGET_USE_SIMODE_FIOP
       || optimize_function_for_size_p (cfun))))
                        return -1;
                      return 647; /* *jccdf_si_r_i387 */

                    default:
                      return -1;
                    }

                case XFmode:
                  switch (pattern945 (XFmode))
                    {
                    case 0:
                      if (!
#line 11578 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE
   && (TARGET_USE_HIMODE_FIOP
       || optimize_function_for_size_p (cfun))))
                        return -1;
                      return 645; /* *jccxf_hi_r_i387 */

                    case 1:
                      if (!
#line 11578 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE
   && (TARGET_USE_SIMODE_FIOP
       || optimize_function_for_size_p (cfun))))
                        return -1;
                      return 648; /* *jccxf_si_r_i387 */

                    default:
                      return -1;
                    }

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    case UNSPEC:
      switch (XVECLEN (x4, 0))
        {
        case 1:
          switch (XINT (x4, 1))
            {
            case 28:
              if (pattern332 (x1) != 0
                  || !
#line 13452 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(! TARGET_POPCNT))
                return -1;
              return 776; /* paritydi2_cmp */

            case 65:
              switch (pattern334 (x1, pnum_clobbers))
                {
                case 0:
                  if (!
#line 15941 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
                    return -1;
                  return 904; /* fistdi2_floor */

                case 1:
                  if (!
#line 15956 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
                    return -1;
                  *pnum_clobbers = 1;
                  return 906; /* fistdi2_floor_with_temp */

                case 2:
                  if (!
#line 16014 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
                    return -1;
                  return 912; /* fisthi2_floor_with_temp */

                case 3:
                  if (!
#line 16014 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
                    return -1;
                  return 914; /* fistsi2_floor_with_temp */

                default:
                  return -1;
                }

            case 66:
              switch (pattern334 (x1, pnum_clobbers))
                {
                case 0:
                  if (!
#line 15941 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
                    return -1;
                  return 905; /* fistdi2_ceil */

                case 1:
                  if (!
#line 15956 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
                    return -1;
                  *pnum_clobbers = 1;
                  return 907; /* fistdi2_ceil_with_temp */

                case 2:
                  if (!
#line 16014 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
                    return -1;
                  return 913; /* fisthi2_ceil_with_temp */

                case 3:
                  if (!
#line 16014 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
                    return -1;
                  return 915; /* fistsi2_ceil_with_temp */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case 4:
          if (XINT (x4, 1) != 21
              || pattern324 (x4) != 0
              || pattern555 (x1) != 0
              || !tls_symbolic_operand (operands[2], VOIDmode))
            return -1;
          x19 = XVECEXP (x4, 0, 2);
          operands[3] = x19;
          if (!constant_call_address_operand (operands[3], VOIDmode))
            return -1;
          x5 = XVECEXP (x1, 0, 1);
          x9 = XEXP (x5, 0);
          operands[4] = x9;
          if (!scratch_operand (operands[4], SImode))
            return -1;
          x6 = XVECEXP (x1, 0, 2);
          x10 = XEXP (x6, 0);
          operands[5] = x10;
          if (!scratch_operand (operands[5], SImode)
              || !
#line 13527 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_GNU_TLS))
            return -1;
          return 779; /* *tls_global_dynamic_32_gnu */

        case 3:
          if (XINT (x4, 1) != 22
              || pattern325 (x4, SImode) != 0
              || pattern555 (x1) != 0
              || !constant_call_address_operand (operands[2], VOIDmode))
            return -1;
          x5 = XVECEXP (x1, 0, 1);
          x9 = XEXP (x5, 0);
          operands[3] = x9;
          if (!scratch_operand (operands[3], SImode))
            return -1;
          x6 = XVECEXP (x1, 0, 2);
          x10 = XEXP (x6, 0);
          operands[4] = x10;
          if (!scratch_operand (operands[4], SImode)
              || !
#line 13636 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_GNU_TLS))
            return -1;
          return 782; /* *tls_local_dynamic_base_32_gnu */

        default:
          return -1;
        }

    case PLUS:
      if (pattern197 (x1) != 0)
        return -1;
      return 785; /* *tls_local_dynamic_32_once */

    case UNSPEC_VOLATILE:
      if (XVECLEN (x4, 0) != 1
          || XINT (x4, 1) != 2)
        return -1;
      x5 = XVECEXP (x1, 0, 1);
      if (pattern335 (x5, 7, MINUS) != 0)
        return -1;
      x6 = XVECEXP (x1, 0, 2);
      if (pattern279 (x6, CCmode) != 0)
        return -1;
      x11 = XEXP (x3, 0);
      if (GET_CODE (x11) != MEM
          || GET_MODE (x11) != BLKmode)
        return -1;
      x20 = XEXP (x11, 0);
      if (GET_CODE (x20) != SCRATCH)
        return -1;
      x7 = XEXP (x2, 0);
      operands[0] = x7;
      x21 = XVECEXP (x4, 0, 0);
      operands[1] = x21;
      x22 = XEXP (x5, 1);
      x23 = XEXP (x22, 1);
      operands[2] = x23;
      switch (GET_MODE (operands[0]))
        {
        case SImode:
          if (pattern915 (x1, SImode) != 0
              || !
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))
            return -1;
          return 989; /* adjust_stack_and_probesi */

        case DImode:
          if (pattern915 (x1, DImode) != 0
              || !
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))
            return -1;
          return 990; /* adjust_stack_and_probedi */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_255 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19, x20, x21, x22, x23, x24, x25;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  if (GET_CODE (x2) != SET)
    return -1;
  x3 = XEXP (x2, 1);
  switch (GET_CODE (x3))
    {
    case FIX:
      if (GET_MODE (x3) != DImode)
        return -1;
      x4 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x4) != USE)
        return -1;
      x5 = XVECEXP (x1, 0, 2);
      if (GET_CODE (x5) != USE)
        return -1;
      x6 = XVECEXP (x1, 0, 3);
      if (GET_CODE (x6) != CLOBBER)
        return -1;
      x7 = XVECEXP (x1, 0, 4);
      if (GET_CODE (x7) != CLOBBER)
        return -1;
      x8 = XEXP (x2, 0);
      operands[0] = x8;
      if (!nonimmediate_operand (operands[0], DImode))
        return -1;
      x9 = XEXP (x3, 0);
      operands[1] = x9;
      if (!register_operand (operands[1], VOIDmode)
          || pattern459 (x1, XFmode) != 0
          || !
#line 5007 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 -1;
      return 187; /* fix_truncdi_i387_with_temp */

    case UNSPEC:
      if (XVECLEN (x3, 0) != 1
          || pattern43 (x1) != 0
          || !nonimmediate_operand (operands[0], DImode)
          || GET_MODE (x3) != DImode)
        return -1;
      x10 = XVECEXP (x3, 0, 0);
      operands[1] = x10;
      if (!register_operand (operands[1], XFmode)
          || pattern459 (x1, XFmode) != 0)
        return -1;
      switch (XINT (x3, 1))
        {
        case 65:
          if (!
#line 15956 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
            return -1;
          return 906; /* fistdi2_floor_with_temp */

        case 66:
          if (!
#line 15956 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations))
            return -1;
          return 907; /* fistdi2_ceil_with_temp */

        default:
          return -1;
        }

    case CONST_INT:
      if (XWINT (x3, 0) != 0LL)
        return -1;
      x4 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x4) != SET)
        return -1;
      x11 = XEXP (x4, 1);
      if (GET_CODE (x11) != PLUS)
        return -1;
      x5 = XVECEXP (x1, 0, 2);
      if (GET_CODE (x5) != SET)
        return -1;
      x7 = XVECEXP (x1, 0, 4);
      if (GET_CODE (x7) != USE)
        return -1;
      x12 = XEXP (x4, 0);
      operands[0] = x12;
      x13 = XEXP (x11, 0);
      switch (GET_CODE (x13))
        {
        case ASHIFT:
          x14 = XEXP (x13, 1);
          if (GET_CODE (x14) != CONST_INT)
            return -1;
          x15 = XEXP (x11, 1);
          operands[3] = x15;
          switch (XWINT (x14, 0))
            {
            case 3LL:
              switch (pattern689 (x1, 3, DImode))
                {
                case 0:
                  if (!(
#line 16430 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT
   && !(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])
   && ix86_check_no_addr_space (insn)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  return 931; /* *rep_movdi_rex64 */

                case 1:
                  if (!(
#line 16430 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT
   && !(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])
   && ix86_check_no_addr_space (insn)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  return 932; /* *rep_movdi_rex64 */

                case 2:
                  if (!(
#line 16629 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT
   && !(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])
   && ix86_check_no_addr_space (insn)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  return 945; /* *rep_stosdi_rex64 */

                case 3:
                  if (!(
#line 16629 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT
   && !(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])
   && ix86_check_no_addr_space (insn)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  return 946; /* *rep_stosdi_rex64 */

                default:
                  return -1;
                }

            case 2LL:
              switch (pattern689 (x1, 2, SImode))
                {
                case 0:
                  if (!(
#line 16451 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])
   && ix86_check_no_addr_space (insn)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  return 933; /* *rep_movsi */

                case 1:
                  if (!(
#line 16451 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])
   && ix86_check_no_addr_space (insn)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  return 934; /* *rep_movsi */

                case 2:
                  if (!(
#line 16648 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])
   && ix86_check_no_addr_space (insn)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  return 947; /* *rep_stossi */

                case 3:
                  if (!(
#line 16648 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])
   && ix86_check_no_addr_space (insn)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  return 948; /* *rep_stossi */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case REG:
        case SUBREG:
          operands[3] = x13;
          x16 = XEXP (x5, 1);
          switch (GET_CODE (x16))
            {
            case PLUS:
              x6 = XVECEXP (x1, 0, 3);
              if (GET_CODE (x6) != SET)
                return -1;
              x17 = XEXP (x6, 1);
              if (GET_CODE (x17) != MEM
                  || GET_MODE (x17) != BLKmode)
                return -1;
              x18 = XEXP (x6, 0);
              if (GET_CODE (x18) != MEM
                  || GET_MODE (x18) != BLKmode)
                return -1;
              x8 = XEXP (x2, 0);
              operands[2] = x8;
              x15 = XEXP (x11, 1);
              operands[5] = x15;
              x19 = XEXP (x5, 0);
              operands[1] = x19;
              x20 = XEXP (x16, 0);
              operands[4] = x20;
              x21 = XEXP (x16, 1);
              if (!rtx_equal_p (x21, operands[5]))
                return -1;
              x22 = XEXP (x17, 0);
              if (!rtx_equal_p (x22, operands[4]))
                return -1;
              x23 = XEXP (x18, 0);
              if (!rtx_equal_p (x23, operands[3]))
                return -1;
              x24 = XEXP (x7, 0);
              if (!rtx_equal_p (x24, operands[5]))
                return -1;
              switch (GET_MODE (operands[2]))
                {
                case SImode:
                  if (pattern946 (x1, SImode) != 0
                      || !(
#line 16469 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])
   && ix86_check_no_addr_space (insn)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  return 935; /* *rep_movqi */

                case DImode:
                  if (pattern946 (x1, DImode) != 0
                      || !(
#line 16469 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])
   && ix86_check_no_addr_space (insn)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  return 936; /* *rep_movqi */

                default:
                  return -1;
                }

            case CONST_INT:
              if (XWINT (x16, 0) != 0LL)
                return -1;
              x19 = XEXP (x5, 0);
              if (GET_CODE (x19) != MEM
                  || GET_MODE (x19) != BLKmode)
                return -1;
              x6 = XVECEXP (x1, 0, 3);
              if (GET_CODE (x6) != USE)
                return -1;
              x8 = XEXP (x2, 0);
              operands[1] = x8;
              x15 = XEXP (x11, 1);
              operands[4] = x15;
              x18 = XEXP (x6, 0);
              operands[2] = x18;
              if (!register_operand (operands[2], QImode))
                return -1;
              x25 = XEXP (x19, 0);
              if (!rtx_equal_p (x25, operands[3]))
                return -1;
              x24 = XEXP (x7, 0);
              if (!rtx_equal_p (x24, operands[4]))
                return -1;
              switch (GET_MODE (operands[1]))
                {
                case SImode:
                  if (pattern916 (x11, SImode) != 0
                      || !(
#line 16665 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])
   && ix86_check_no_addr_space (insn)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  return 949; /* *rep_stosqi */

                case DImode:
                  if (pattern916 (x11, DImode) != 0
                      || !(
#line 16665 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])
   && ix86_check_no_addr_space (insn)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  return 950; /* *rep_stosqi */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_256 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16;
  int res ATTRIBUTE_UNUSED;
  if (pattern27 (x1) != 0)
    return -1;
  x2 = XVECEXP (x1, 0, 4);
  x3 = XEXP (x2, 0);
  operands[1] = x3;
  x4 = XVECEXP (x1, 0, 5);
  x5 = XEXP (x4, 0);
  operands[2] = x5;
  switch (pattern715 (x1))
    {
    case 0:
      x6 = XVECEXP (x1, 0, 0);
      x7 = XEXP (x6, 1);
      x8 = XEXP (x7, 1);
      x9 = XEXP (x8, 0);
      operands[5] = x9;
      x10 = XVECEXP (x1, 0, 1);
      x11 = XEXP (x10, 0);
      operands[6] = x11;
      x12 = XVECEXP (x1, 0, 2);
      x13 = XEXP (x12, 0);
      operands[3] = x13;
      if (!immediate_operand (operands[3], SImode))
        return -1;
      switch (GET_MODE (operands[4]))
        {
        case SImode:
          if (pattern939 (SImode) != 0
              || !(
#line 16805 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])
   && ix86_check_no_addr_space (insn)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
            return -1;
          return 951; /* *cmpstrnqi_nz_1 */

        case DImode:
          if (pattern939 (DImode) != 0
              || !(
#line 16805 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])
   && ix86_check_no_addr_space (insn)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
            return -1;
          return 952; /* *cmpstrnqi_nz_1 */

        default:
          return -1;
        }

    case 1:
      x6 = XVECEXP (x1, 0, 0);
      x7 = XEXP (x6, 1);
      x8 = XEXP (x7, 1);
      x9 = XEXP (x8, 0);
      x14 = XEXP (x9, 0);
      operands[4] = x14;
      x15 = XEXP (x8, 1);
      x16 = XEXP (x15, 0);
      operands[5] = x16;
      x10 = XVECEXP (x1, 0, 1);
      x11 = XEXP (x10, 0);
      operands[3] = x11;
      if (!immediate_operand (operands[3], SImode))
        return -1;
      switch (GET_MODE (operands[6]))
        {
        case SImode:
          if (pattern971 (SImode) != 0
              || !(
#line 16849 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])
   && ix86_check_no_addr_space (insn)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
            return -1;
          return 953; /* *cmpstrnqi_1 */

        case DImode:
          if (pattern971 (DImode) != 0
              || !(
#line 16849 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])
   && ix86_check_no_addr_space (insn)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
            return -1;
          return 954; /* *cmpstrnqi_1 */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_257 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  if (GET_CODE (x2) != SET)
    return -1;
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) != UNSPEC_VOLATILE
      || XVECLEN (x3, 0) != 1
      || XINT (x3, 1) != 35
      || GET_MODE (x3) != BLKmode)
    return -1;
  x4 = XVECEXP (x3, 0, 0);
  if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return -1;
  x5 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x5) != CLOBBER)
    return -1;
  x6 = XEXP (x5, 0);
  if (GET_CODE (x6) != REG
      || REGNO (x6) != 19
      || pattern393 (x1, 10, 9, XFmode, 8, HImode) != 0
      || pattern849 (x1, 15, 14, 13, 12, 11) != 0)
    return -1;
  x7 = XEXP (x2, 0);
  operands[0] = x7;
  if (!memory_operand (operands[0], BLKmode)
      || !
#line 19027 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387))
    return -1;
  return 1037; /* fnstenv */
}

static int
recog_258 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  if (GET_CODE (x2) != UNSPEC_VOLATILE
      || XVECLEN (x2, 0) != 1
      || XINT (x2, 1) != 36)
    return -1;
  x3 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x3) != CLOBBER)
    return -1;
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != REG
      || REGNO (x4) != 18
      || pattern393 (x1, 9, 8, HImode, 19, CCFPmode) != 0
      || pattern849 (x1, 14, 13, 12, 11, 10) != 0)
    return -1;
  x5 = XVECEXP (x1, 0, 10);
  if (GET_CODE (x5) != CLOBBER)
    return -1;
  x6 = XEXP (x5, 0);
  if (GET_CODE (x6) != REG
      || REGNO (x6) != 15
      || GET_MODE (x6) != XFmode)
    return -1;
  x7 = XVECEXP (x2, 0, 0);
  operands[0] = x7;
  if (!memory_operand (operands[0], BLKmode)
      || !
#line 19047 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387))
    return -1;
  return 1038; /* fldenv */
}

static int
recog_259 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (GET_CODE (x2))
    {
    case COMPARE:
      res = recog_1 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case UNSPEC:
      res = recog_6 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case CONST_INT:
    case CONST_WIDE_INT:
    case CONST_FIXED:
    case CONST_DOUBLE:
    case CONST_VECTOR:
    case CONST:
    case REG:
    case SUBREG:
    case MEM:
    case LABEL_REF:
    case SYMBOL_REF:
    case HIGH:
      res = recog_10 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case SIGN_EXTRACT:
      switch (pattern1 (x1))
        {
        case 0:
          switch (GET_MODE (operands[0]))
            {
            case HImode:
              if (register_operand (operands[0], HImode)
                  && GET_MODE (x2) == HImode)
                return 101; /* *extvhi */
              break;

            case SImode:
              if (register_operand (operands[0], SImode)
                  && GET_MODE (x2) == SImode)
                return 102; /* *extvsi */
              break;

            default:
              break;
            }
          break;

        case 1:
          return 113; /* *insvqi_2 */

        default:
          break;
        }
      break;

    case ZERO_EXTRACT:
      switch (pattern1 (x1))
        {
        case 0:
          switch (GET_MODE (operands[0]))
            {
            case HImode:
              if (register_operand (operands[0], HImode)
                  && GET_MODE (x2) == HImode)
                return 103; /* *extzvhi */
              break;

            case SImode:
              if (register_operand (operands[0], SImode)
                  && GET_MODE (x2) == SImode)
                return 104; /* *extzvsi */
              break;

            case DImode:
              if (register_operand (operands[0], DImode)
                  && GET_MODE (x2) == DImode
                  && 
#line 986 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
                return 105; /* *extzvdi */
              break;

            default:
              break;
            }
          break;

        case 1:
          return 114; /* *insvqi_2 */

        default:
          break;
        }
      break;

    case LSHIFTRT:
      res = recog_11 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case ASHIFTRT:
      res = recog_12 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case ZERO_EXTEND:
      res = recog_13 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case SIGN_EXTEND:
      res = recog_14 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case FLOAT_EXTEND:
      res = recog_15 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case FLOAT_TRUNCATE:
      res = recog_16 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case FIX:
      res = recog_17 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case FLOAT:
      res = recog_18 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case IOR:
      res = recog_19 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case XOR:
      x3 = XEXP (x2, 0);
      switch (GET_CODE (x3))
        {
        case ASHIFT:
          x4 = XEXP (x1, 0);
          operands[0] = x4;
          switch (pattern63 (x2))
            {
            case 0:
              if (
#line 6423 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   && ((unsigned HOST_WIDE_INT) INTVAL (operands[3])
       < (HOST_WIDE_INT_1U << INTVAL (operands[2])))))
                return 262; /* *leaqi_general_4 */
              break;

            case 1:
              if (
#line 6423 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   && ((unsigned HOST_WIDE_INT) INTVAL (operands[3])
       < (HOST_WIDE_INT_1U << INTVAL (operands[2])))))
                return 264; /* *leahi_general_4 */
              break;

            default:
              break;
            }
          break;

        case REG:
        case SUBREG:
        case MEM:
          switch (pattern34 (x1, pnum_clobbers))
            {
            case 0:
              if (
#line 8728 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (XOR, HImode, operands)))
                {
                  *pnum_clobbers = 1;
                  return 414; /* *xorhi_1 */
                }
              break;

            case 1:
              if (
#line 8761 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (XOR, QImode, operands)))
                {
                  *pnum_clobbers = 1;
                  return 424; /* *xorqi_1 */
                }
              break;

            case 2:
              if (
#line 1020 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX && ix86_binary_operator_ok (XOR, V8QImode, operands)))
                return 1172; /* *mmx_xorv8qi3 */
              break;

            case 3:
              if (
#line 1020 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX && ix86_binary_operator_ok (XOR, V4HImode, operands)))
                return 1175; /* *mmx_xorv4hi3 */
              break;

            case 4:
              if (
#line 1020 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX && ix86_binary_operator_ok (XOR, V2SImode, operands)))
                return 1178; /* *mmx_xorv2si3 */
              break;

            case 5:
              if (
#line 3383 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(SSE_FLOAT_MODE_P (SFmode)))
                return 1782; /* *xorsf3 */
              break;

            case 6:
              if (
#line 3383 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(SSE_FLOAT_MODE_P (DFmode)))
                return 1785; /* *xordf3 */
              break;

            case 7:
              if (
#line 3457 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE
   && ix86_binary_operator_ok (XOR, TFmode, operands)))
                return 1788; /* *xortf3 */
              break;

            case 8:
              if (
#line 8779 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 = 1;
                  return 426; /* *xorqi_1_slp */
                }
              break;

            default:
              break;
            }
          break;

        default:
          break;
        }
      break;

    case AND:
      res = recog_21 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case NEG:
      res = recog_190 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case ABS:
      res = recog_185 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case NOT:
      res = recog_22 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case ASHIFT:
      res = recog_23 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case ROTATE:
      switch (pattern5 (x1, pnum_clobbers))
        {
        case 0:
          if (
#line 1042 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
            {
              *pnum_clobbers = 2;
              return 581; /* ix86_rotlti3_doubleword */
            }
          break;

        case 1:
          if (
#line 10825 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ROTATE, QImode, operands)))
            {
              *pnum_clobbers = 1;
              return 593; /* *rotlqi3_1 */
            }
          break;

        case 2:
          if (
#line 10825 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ROTATE, HImode, operands)))
            {
              *pnum_clobbers = 1;
              return 595; /* *rotlhi3_1 */
            }
          break;

        case 3:
          if (
#line 10848 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_REG_STALL
    || (operands[1] == const1_rtx
	&& TARGET_SHIFT1))))
            {
              *pnum_clobbers = 1;
              return 597; /* *rotlqi3_1_slp */
            }
          break;

        default:
          break;
        }
      break;

    case ROTATERT:
      switch (pattern5 (x1, pnum_clobbers))
        {
        case 0:
          if (
#line 1042 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
            {
              *pnum_clobbers = 2;
              return 583; /* ix86_rotrti3_doubleword */
            }
          break;

        case 1:
          if (
#line 10825 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ROTATERT, QImode, operands)))
            {
              *pnum_clobbers = 1;
              return 594; /* *rotrqi3_1 */
            }
          break;

        case 2:
          if (
#line 10825 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ROTATERT, HImode, operands)))
            {
              *pnum_clobbers = 1;
              return 596; /* *rotrhi3_1 */
            }
          break;

        case 3:
          if (
#line 10848 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((optimize_function_for_size_p (cfun)
    || !TARGET_PARTIAL_REG_STALL
    || (operands[1] == const1_rtx
	&& TARGET_SHIFT1))))
            {
              *pnum_clobbers = 1;
              return 598; /* *rotrqi3_1_slp */
            }
          break;

        default:
          break;
        }
      break;

    case IF_THEN_ELSE:
      res = recog_26 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    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:
      res = recog_28 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case POPCOUNT:
      if (pattern6 (x1, pnum_clobbers, HImode) == 0
          && 
#line 13318 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_POPCNT))
        {
          *pnum_clobbers = 1;
          return 769; /* popcounthi2 */
        }
      break;

    case BSWAP:
      res = recog_29 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case PLUS:
    case MINUS:
    case MULT:
    case DIV:
      res = recog_33 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case SQRT:
      res = recog_34 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case SMAX:
      switch (pattern8 (x1))
        {
        case 0:
          if (
#line 17355 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH))
            return 973; /* smaxsf3 */
          break;

        case 1:
          if (
#line 17355 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH))
            return 975; /* smaxdf3 */
          break;

        case 2:
          if (
#line 325 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_3DNOW && ix86_binary_operator_ok (SMAX, V2SFmode, operands)))
            return 1103; /* *mmx_smaxv2sf3 */
          break;

        case 3:
          if (
#line 904 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
((TARGET_SSE || TARGET_3DNOW_A)
   && ix86_binary_operator_ok (SMAX, V4HImode, operands)))
            return 1149; /* *mmx_smaxv4hi3 */
          break;

        default:
          break;
        }
      break;

    case SMIN:
      switch (pattern8 (x1))
        {
        case 0:
          if (
#line 17355 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH))
            return 974; /* sminsf3 */
          break;

        case 1:
          if (
#line 17355 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH))
            return 976; /* smindf3 */
          break;

        case 2:
          if (
#line 325 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_3DNOW && ix86_binary_operator_ok (SMIN, V2SFmode, operands)))
            return 1104; /* *mmx_sminv2sf3 */
          break;

        case 3:
          if (
#line 904 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
((TARGET_SSE || TARGET_3DNOW_A)
   && ix86_binary_operator_ok (SMIN, V4HImode, operands)))
            return 1150; /* *mmx_sminv4hi3 */
          break;

        default:
          break;
        }
      break;

    case UNSPEC_VOLATILE:
      res = recog_35 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case VEC_CONCAT:
      res = recog_36 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case VEC_MERGE:
      res = recog_37 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case VEC_SELECT:
      res = recog_38 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case VEC_DUPLICATE:
      res = recog_39 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case SS_PLUS:
      res = recog_40 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case US_PLUS:
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      switch (pattern35 (x2))
        {
        case 0:
          if (
#line 702 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX && ix86_binary_operator_ok (US_PLUS, V8QImode, operands)))
            return 1136; /* *mmx_usaddv8qi3 */
          break;

        case 1:
          if (
#line 702 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX && ix86_binary_operator_ok (US_PLUS, V4HImode, operands)))
            return 1140; /* *mmx_usaddv4hi3 */
          break;

        default:
          break;
        }
      break;

    case SS_MINUS:
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      switch (pattern35 (x2))
        {
        case 0:
          if (
#line 702 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX && ix86_binary_operator_ok (SS_MINUS, V8QImode, operands)))
            return 1137; /* *mmx_sssubv8qi3 */
          break;

        case 1:
          if (
#line 702 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX && ix86_binary_operator_ok (SS_MINUS, V4HImode, operands)))
            return 1141; /* *mmx_sssubv4hi3 */
          break;

        default:
          break;
        }
      break;

    case US_MINUS:
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      switch (pattern35 (x2))
        {
        case 0:
          if (
#line 702 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX && ix86_binary_operator_ok (US_MINUS, V8QImode, operands)))
            return 1138; /* *mmx_ussubv8qi3 */
          break;

        case 1:
          if (
#line 702 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX && ix86_binary_operator_ok (US_MINUS, V4HImode, operands)))
            return 1142; /* *mmx_ussubv4hi3 */
          break;

        default:
          break;
        }
      break;

    case TRUNCATE:
      res = recog_41 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case UMAX:
      if (pattern9 (x1) == 0
          && 
#line 923 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
((TARGET_SSE || TARGET_3DNOW_A)
   && ix86_binary_operator_ok (UMAX, V8QImode, operands)))
        return 1151; /* *mmx_umaxv8qi3 */
      break;

    case UMIN:
      if (pattern9 (x1) == 0
          && 
#line 923 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
((TARGET_SSE || TARGET_3DNOW_A)
   && ix86_binary_operator_ok (UMIN, V8QImode, operands)))
        return 1152; /* *mmx_uminv8qi3 */
      break;

    case FMA:
      res = recog_42 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    default:
      break;
    }
  x4 = XEXP (x1, 0);
  operands[0] = x4;
  operands[1] = x2;
  switch (GET_MODE (operands[0]))
    {
    case XImode:
      if (nonimmediate_operand (operands[0], XImode)
          && nonimmediate_or_sse_const_operand (operands[1], XImode)
          && 
#line 1997 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_AVX512F
   && (register_operand (operands[0], XImode)
       || register_operand (operands[1], XImode))))
        return 78; /* *movxi_internal_avx512f */
      break;

    case OImode:
      if (nonimmediate_operand (operands[0], OImode)
          && nonimmediate_or_sse_const_operand (operands[1], OImode)
          && 
#line 2024 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_AVX
   && (register_operand (operands[0], OImode)
       || register_operand (operands[1], OImode))))
        return 79; /* *movoi_internal_avx */
      break;

    case SImode:
      if (register_operand (operands[0], SImode)
          && address_no_seg_operand (operands[1], SImode))
        return 213; /* *leasi */
      break;

    case DImode:
      if (register_operand (operands[0], DImode)
          && address_no_seg_operand (operands[1], DImode)
          && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
        return 214; /* *leadi */
      break;

    default:
      break;
    }
  switch (GET_CODE (x2))
    {
    case PLUS:
      res = recog_43 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case ZERO_EXTEND:
      res = recog_44 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case COMPARE:
      res = recog_46 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case IOR:
      res = recog_47 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case XOR:
      res = recog_48 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case MINUS:
      res = recog_49 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case MULT:
      res = recog_50 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case TRUNCATE:
      res = recog_51 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case AND:
      res = recog_52 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case NEG:
      res = recog_53 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case LSHIFTRT:
      res = recog_54 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case NOT:
      operands[0] = x4;
      x3 = XEXP (x2, 0);
      operands[1] = x3;
      switch (pattern73 (x2))
        {
        case 0:
          if (
#line 9398 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_STV && TARGET_SSE2
   && ix86_unary_operator_ok (NOT, DImode, operands)))
            return 492; /* *one_cmpldi2_doubleword */
          if ((
#line 9411 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_unary_operator_ok (NOT, DImode, operands)) && 
#line 986 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return 495; /* *one_cmpldi2_1 */
          break;

        case 1:
          if (
#line 9411 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_unary_operator_ok (NOT, SImode, operands)))
            return 494; /* *one_cmplsi2_1 */
          break;

        default:
          break;
        }
      break;

    case ASHIFT:
      res = recog_55 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case ASHIFTRT:
      res = recog_56 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case ROTATE:
      res = recog_57 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case ROTATERT:
      res = recog_58 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    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:
      res = recog_59 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case CALL:
      res = recog_60 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case UNSPEC:
      res = recog_62 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case FFS:
      if (pattern6 (x1, pnum_clobbers, SImode) == 0
          && 
#line 12653 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_CMOVE))
        {
          *pnum_clobbers = 2;
          return 696; /* ffssi2_no_cmove */
        }
      break;

    case CTZ:
      switch (pattern11 (x1, pnum_clobbers))
        {
        case 0:
          *pnum_clobbers = 1;
          return 703; /* ctzsi2 */

        case 1:
          if (
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
            {
              *pnum_clobbers = 1;
              return 704; /* ctzdi2 */
            }
          break;

        default:
          break;
        }
      break;

    case CLZ:
      switch (pattern11 (x1, pnum_clobbers))
        {
        case 0:
          if (
#line 12857 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_LZCNT))
            {
              *pnum_clobbers = 1;
              return 710; /* clzsi2_lzcnt */
            }
          break;

        case 1:
          if ((
#line 12857 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_LZCNT) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            {
              *pnum_clobbers = 1;
              return 711; /* clzdi2_lzcnt */
            }
          break;

        default:
          break;
        }
      break;

    case ZERO_EXTRACT:
      res = recog_63 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case POPCOUNT:
      res = recog_64 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case BSWAP:
      operands[0] = x4;
      x3 = XEXP (x2, 0);
      operands[1] = x3;
      switch (GET_MODE (operands[0]))
        {
        case SImode:
          if (GET_MODE (x2) == SImode)
            {
              if (nonimmediate_operand (operands[0], SImode)
                  && nonimmediate_operand (operands[1], SImode)
                  && 
#line 13363 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_MOVBE
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
                return 770; /* *bswapsi2_movbe */
              if (register_operand (operands[0], SImode)
                  && register_operand (operands[1], SImode)
                  && 
#line 13378 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BSWAP))
                return 772; /* *bswapsi2 */
            }
          break;

        case DImode:
          if (GET_MODE (x2) == DImode)
            {
              if (nonimmediate_operand (operands[0], DImode)
                  && nonimmediate_operand (operands[1], DImode)
                  && (
#line 13363 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_MOVBE
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return 771; /* *bswapdi2_movbe */
              if (register_operand (operands[0], DImode)
                  && register_operand (operands[1], DImode)
                  && (
#line 13378 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BSWAP) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return 773; /* *bswapdi2 */
            }
          break;

        default:
          break;
        }
      break;

    case IF_THEN_ELSE:
      res = recog_65 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case SIGN_EXTRACT:
      if (pnum_clobbers != NULL)
        {
          switch (pattern40 (x1, 1))
            {
            case 0:
              *pnum_clobbers = 1;
              return 959; /* *x86_movsicc_0_m1_se */

            case 1:
              if (
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
                {
                  *pnum_clobbers = 1;
                  return 960; /* *x86_movdicc_0_m1_se */
                }
              break;

            default:
              break;
            }
        }
      break;

    case UNSPEC_VOLATILE:
      res = recog_66 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case VEC_SELECT:
      res = recog_67 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case FIX:
      switch (pattern13 (x1))
        {
        case 0:
          if (
#line 4352 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE))
            return 2104; /* sse_cvttss2si */
          break;

        case 1:
          if (
#line 4848 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))
            return 2211; /* sse2_cvttsd2si */
          break;

        case 2:
          if (
#line 4368 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && TARGET_64BIT))
            return 2106; /* sse_cvttss2siq */
          break;

        case 3:
          if (
#line 4865 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && TARGET_64BIT))
            return 2213; /* sse2_cvttsd2siq */
          break;

        default:
          break;
        }
      break;

    case UNSIGNED_FIX:
      switch (pattern13 (x1))
        {
        case 0:
          if (
#line 4713 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return 2193; /* avx512f_vcvttss2usi */
          break;

        case 1:
          if (
#line 4763 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return 2201; /* avx512f_vcvttsd2usi */
          break;

        case 2:
          if (
#line 4725 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && TARGET_64BIT))
            return 2195; /* avx512f_vcvttss2usiq */
          break;

        case 3:
          if (
#line 4775 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && TARGET_64BIT))
            return 2203; /* avx512f_vcvttsd2usiq */
          break;

        default:
          break;
        }
      break;

    default:
      break;
    }
  operands[0] = x4;
  res = recog_172 (x1, insn, pnum_clobbers);
  if (res >= 0)
    return res;
  switch (GET_CODE (x2))
    {
    case VEC_MERGE:
      return recog_162 (x1, insn, pnum_clobbers);

    case VEC_CONCAT:
      return recog_163 (x1, insn, pnum_clobbers);

    case SUBREG:
      if (pnum_clobbers == NULL
          || XINT (x2, 1) != 0
          || GET_MODE (x2) != V4SImode)
        return -1;
      operands[0] = x4;
      if (!register_operand (operands[0], V4SImode))
        return -1;
      x3 = XEXP (x2, 0);
      operands[1] = x3;
      if (!nonimmediate_operand (operands[1], DImode)
          || !
#line 1120 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(!TARGET_64BIT && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES_TO_VEC))
        return -1;
      *pnum_clobbers = 1;
      return 1282; /* movdi_to_sse */

    case UNSPEC:
      return recog_166 (x1, insn, pnum_clobbers);

    case PLUS:
      return recog_165 (x1, insn, pnum_clobbers);

    case MINUS:
      return recog_188 (x1, insn, pnum_clobbers);

    case MULT:
      return recog_181 (x1, insn, pnum_clobbers);

    case DIV:
      operands[0] = x4;
      x3 = XEXP (x2, 0);
      operands[1] = x3;
      x5 = XEXP (x2, 1);
      operands[2] = x5;
      switch (GET_MODE (operands[0]))
        {
        case V16SFmode:
          if (pattern244 (x2, V16SFmode) != 0
              || !(
#line 1659 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && 1 && 1) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
            return -1;
          return 1437; /* avx512f_divv16sf3 */

        case V8SFmode:
          if (pattern244 (x2, V8SFmode) != 0
              || !(
#line 1659 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && 1 && 1) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return -1;
          return 1441; /* avx_divv8sf3 */

        case V4SFmode:
          if (pattern244 (x2, V4SFmode) != 0
              || !
#line 1659 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && 1 && 1))
            return -1;
          return 1443; /* sse_divv4sf3 */

        case V8DFmode:
          if (pattern244 (x2, V8DFmode) != 0
              || !(
#line 1659 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && 1 && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)))
            return -1;
          return 1445; /* avx512f_divv8df3 */

        case V4DFmode:
          if (pattern244 (x2, V4DFmode) != 0
              || !(
#line 1659 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && 1 && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return -1;
          return 1449; /* avx_divv4df3 */

        case V2DFmode:
          if (pattern244 (x2, V2DFmode) != 0
              || !(
#line 1659 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && 1 && 1) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
            return -1;
          return 1451; /* sse2_divv2df3 */

        default:
          return -1;
        }

    case SQRT:
      return recog_186 (x1, insn, pnum_clobbers);

    case SMAX:
      return recog_180 (x1, insn, pnum_clobbers);

    case SMIN:
      return recog_179 (x1, insn, pnum_clobbers);

    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:
      return recog_193 (x1, insn, pnum_clobbers);

    case AND:
      return recog_171 (x1, insn, pnum_clobbers);

    case IOR:
      return recog_197 (x1, insn, pnum_clobbers);

    case XOR:
      return recog_196 (x1, insn, pnum_clobbers);

    case FMA:
      return recog_164 (x1, insn, pnum_clobbers);

    case FLOAT:
      return recog_178 (x1, insn, pnum_clobbers);

    case UNSIGNED_FLOAT:
      return recog_184 (x1, insn, pnum_clobbers);

    case FIX:
      return recog_199 (x1, insn, pnum_clobbers);

    case UNSIGNED_FIX:
      return recog_198 (x1, insn, pnum_clobbers);

    case FLOAT_TRUNCATE:
      operands[0] = x4;
      x3 = XEXP (x2, 0);
      operands[1] = x3;
      switch (GET_MODE (operands[0]))
        {
        case V8SFmode:
          if (!register_operand (operands[0], V8SFmode)
              || GET_MODE (x2) != V8SFmode
              || !vector_operand (operands[1], V8DFmode)
              || !
#line 5342 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2364; /* *avx512f_cvtpd2ps512 */

        case V4SFmode:
          if (!register_operand (operands[0], V4SFmode)
              || GET_MODE (x2) != V4SFmode
              || !nonimmediate_operand (operands[1], V4DFmode)
              || !
#line 5352 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && 1))
            return -1;
          return 2368; /* avx_cvtpd2ps256 */

        default:
          return -1;
        }

    case FLOAT_EXTEND:
      return recog_189 (x1, insn, pnum_clobbers);

    case VEC_SELECT:
      return recog_169 (x1, insn, pnum_clobbers);

    case VEC_DUPLICATE:
      return recog_168 (x1, insn, pnum_clobbers);

    case SS_TRUNCATE:
      operands[0] = x4;
      switch (pattern41 (x2))
        {
        case 0:
          if (!
#line 9130 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2724; /* *avx512f_ss_truncatev16siv16qi2 */

        case 1:
          if (!(
#line 9203 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 9195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 2760; /* *avx512vl_ss_truncatev16hiv16qi2 */

        case 2:
          if (!
#line 9130 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2727; /* *avx512f_ss_truncatev16siv16hi2 */

        case 3:
          if (!
#line 9130 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2730; /* *avx512f_ss_truncatev8div8si2 */

        case 4:
          if (!
#line 9130 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2733; /* *avx512f_ss_truncatev8div8hi2 */

        case 5:
          if (!
#line 9203 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2757; /* *avx512vl_ss_truncatev8siv8hi2 */

        case 6:
          if (!
#line 9164 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
            return -1;
          return 2748; /* avx512bw_ss_truncatev32hiv32qi2 */

        case 7:
          if (!
#line 9203 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2754; /* *avx512vl_ss_truncatev4div4si2 */

        default:
          return -1;
        }

    case TRUNCATE:
      return recog_174 (x1, insn, pnum_clobbers);

    case US_TRUNCATE:
      operands[0] = x4;
      switch (pattern41 (x2))
        {
        case 0:
          if (!
#line 9130 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2726; /* *avx512f_us_truncatev16siv16qi2 */

        case 1:
          if (!(
#line 9203 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL) && 
#line 9195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 2762; /* *avx512vl_us_truncatev16hiv16qi2 */

        case 2:
          if (!
#line 9130 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2729; /* *avx512f_us_truncatev16siv16hi2 */

        case 3:
          if (!
#line 9130 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2732; /* *avx512f_us_truncatev8div8si2 */

        case 4:
          if (!
#line 9130 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F))
            return -1;
          return 2735; /* *avx512f_us_truncatev8div8hi2 */

        case 5:
          if (!
#line 9203 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2759; /* *avx512vl_us_truncatev8siv8hi2 */

        case 6:
          if (!
#line 9164 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW))
            return -1;
          return 2750; /* avx512bw_us_truncatev32hiv32qi2 */

        case 7:
          if (!
#line 9203 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VL))
            return -1;
          return 2756; /* *avx512vl_us_truncatev4div4si2 */

        default:
          return -1;
        }

    case SS_PLUS:
      return recog_167 (x1, insn, pnum_clobbers);

    case US_PLUS:
      operands[0] = x4;
      switch (pattern42 (x2))
        {
        case 0:
          if (!(
#line 9990 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1
   && ix86_binary_operator_ok (US_PLUS, V64QImode, operands)) && 
#line 382 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 2996; /* *avx512bw_usaddv64qi3 */

        case 1:
          if (!(
#line 9990 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1
   && ix86_binary_operator_ok (US_PLUS, V32QImode, operands)) && 
#line 382 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
            return -1;
          return 3004; /* *avx2_usaddv32qi3 */

        case 2:
          if (!
#line 9990 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1
   && ix86_binary_operator_ok (US_PLUS, V16QImode, operands)))
            return -1;
          return 3012; /* *sse2_usaddv16qi3 */

        case 3:
          if (!(
#line 9990 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1
   && ix86_binary_operator_ok (US_PLUS, V32HImode, operands)) && 
#line 383 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 3020; /* *avx512bw_usaddv32hi3 */

        case 4:
          if (!(
#line 9990 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1
   && ix86_binary_operator_ok (US_PLUS, V16HImode, operands)) && 
#line 383 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
            return -1;
          return 3028; /* *avx2_usaddv16hi3 */

        case 5:
          if (!
#line 9990 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1
   && ix86_binary_operator_ok (US_PLUS, V8HImode, operands)))
            return -1;
          return 3036; /* *sse2_usaddv8hi3 */

        default:
          return -1;
        }

    case SS_MINUS:
      operands[0] = x4;
      switch (pattern42 (x2))
        {
        case 0:
          if (!(
#line 9990 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1
   && ix86_binary_operator_ok (SS_MINUS, V64QImode, operands)) && 
#line 382 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 2998; /* *avx512bw_sssubv64qi3 */

        case 1:
          if (!(
#line 9990 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1
   && ix86_binary_operator_ok (SS_MINUS, V32QImode, operands)) && 
#line 382 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
            return -1;
          return 3006; /* *avx2_sssubv32qi3 */

        case 2:
          if (!
#line 9990 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1
   && ix86_binary_operator_ok (SS_MINUS, V16QImode, operands)))
            return -1;
          return 3014; /* *sse2_sssubv16qi3 */

        case 3:
          if (!(
#line 9990 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1
   && ix86_binary_operator_ok (SS_MINUS, V32HImode, operands)) && 
#line 383 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 3022; /* *avx512bw_sssubv32hi3 */

        case 4:
          if (!(
#line 9990 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1
   && ix86_binary_operator_ok (SS_MINUS, V16HImode, operands)) && 
#line 383 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
            return -1;
          return 3030; /* *avx2_sssubv16hi3 */

        case 5:
          if (!
#line 9990 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1
   && ix86_binary_operator_ok (SS_MINUS, V8HImode, operands)))
            return -1;
          return 3038; /* *sse2_sssubv8hi3 */

        default:
          return -1;
        }

    case US_MINUS:
      operands[0] = x4;
      switch (pattern42 (x2))
        {
        case 0:
          if (!(
#line 9990 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1
   && ix86_binary_operator_ok (US_MINUS, V64QImode, operands)) && 
#line 382 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 3000; /* *avx512bw_ussubv64qi3 */

        case 1:
          if (!(
#line 9990 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1
   && ix86_binary_operator_ok (US_MINUS, V32QImode, operands)) && 
#line 382 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
            return -1;
          return 3008; /* *avx2_ussubv32qi3 */

        case 2:
          if (!
#line 9990 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1
   && ix86_binary_operator_ok (US_MINUS, V16QImode, operands)))
            return -1;
          return 3016; /* *sse2_ussubv16qi3 */

        case 3:
          if (!(
#line 9990 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1
   && ix86_binary_operator_ok (US_MINUS, V32HImode, operands)) && 
#line 383 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512BW)))
            return -1;
          return 3024; /* *avx512bw_ussubv32hi3 */

        case 4:
          if (!(
#line 9990 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1
   && ix86_binary_operator_ok (US_MINUS, V16HImode, operands)) && 
#line 383 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2)))
            return -1;
          return 3032; /* *avx2_ussubv16hi3 */

        case 5:
          if (!
#line 9990 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && 1 && 1
   && ix86_binary_operator_ok (US_MINUS, V8HImode, operands)))
            return -1;
          return 3040; /* *sse2_ussubv8hi3 */

        default:
          return -1;
        }

    case ASHIFTRT:
      return recog_170 (x1, insn, pnum_clobbers);

    case ASHIFT:
      return recog_177 (x1, insn, pnum_clobbers);

    case LSHIFTRT:
      return recog_176 (x1, insn, pnum_clobbers);

    case ROTATE:
      return recog_191 (x1, insn, pnum_clobbers);

    case ROTATERT:
      return recog_192 (x1, insn, pnum_clobbers);

    case UMAX:
      return recog_183 (x1, insn, pnum_clobbers);

    case UMIN:
      return recog_182 (x1, insn, pnum_clobbers);

    case ABS:
      return recog_175 (x1, insn, pnum_clobbers);

    case SIGN_EXTEND:
      return recog_194 (x1, insn, pnum_clobbers);

    case ZERO_EXTEND:
      return recog_195 (x1, insn, pnum_clobbers);

    case IF_THEN_ELSE:
      return recog_173 (x1, insn, pnum_clobbers);

    case CLZ:
      return recog_187 (x1, insn, pnum_clobbers);

    case POPCOUNT:
      operands[0] = x4;
      x3 = XEXP (x2, 0);
      operands[1] = x3;
      switch (GET_MODE (operands[0]))
        {
        case V16SImode:
          if (!register_operand (operands[0], V16SImode)
              || GET_MODE (x2) != V16SImode
              || !nonimmediate_operand (operands[1], V16SImode)
              || !
#line 20016 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VPOPCNTDQ))
            return -1;
          return 4950; /* vpopcountv16si */

        case V8DImode:
          if (!register_operand (operands[0], V8DImode)
              || GET_MODE (x2) != V8DImode
              || !nonimmediate_operand (operands[1], V8DImode)
              || !
#line 20016 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512VPOPCNTDQ))
            return -1;
          return 4952; /* vpopcountv8di */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

int
recog (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16;
  int res ATTRIBUTE_UNUSED;
  recog_data.insn = NULL;
  switch (GET_CODE (x1))
    {
    case SET:
      return recog_259 (x1, insn, pnum_clobbers);

    case PARALLEL:
      switch (XVECLEN (x1, 0))
        {
        case 2:
          res = recog_249 (x1, insn, pnum_clobbers);
          if (res >= 0)
            return res;
          break;

        case 3:
          res = recog_253 (x1, insn, pnum_clobbers);
          if (res >= 0)
            return res;
          break;

        case 4:
          res = recog_254 (x1, insn, pnum_clobbers);
          if (res >= 0)
            return res;
          break;

        case 5:
          res = recog_255 (x1, insn, pnum_clobbers);
          if (res >= 0)
            return res;
          break;

        case 6:
          res = recog_256 (x1, insn, pnum_clobbers);
          if (res >= 0)
            return res;
          break;

        case 10:
          res = recog_257 (x1, insn, pnum_clobbers);
          if (res >= 0)
            return res;
          break;

        case 11:
          res = recog_258 (x1, insn, pnum_clobbers);
          if (res >= 0)
            return res;
          break;

        default:
          break;
        }
      if (XVECLEN (x1, 0) < 1)
        return -1;
      operands[0] = x1;
      x2 = XVECEXP (x1, 0, 0);
      if (GET_CODE (x2) != UNSPEC_VOLATILE
          || XVECLEN (x2, 0) != 1)
        return -1;
      x3 = XVECEXP (x2, 0, 0);
      if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return -1;
      switch (XINT (x2, 1))
        {
        case 53:
          if (!emms_operation (operands[0], VOIDmode)
              || !
#line 1589 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX))
            return -1;
          return 1204; /* *mmx_emms */

        case 54:
          if (!emms_operation (operands[0], VOIDmode)
              || !
#line 1622 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_3DNOW))
            return -1;
          return 1205; /* *mmx_femms */

        case 60:
          if (!vzeroall_operation (operands[0], VOIDmode)
              || !
#line 17255 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
            return -1;
          return 4085; /* *avx_vzeroall */

        default:
          return -1;
        }

    case CALL:
      x4 = XEXP (x1, 0);
      if (GET_CODE (x4) != MEM
          || GET_MODE (x4) != QImode)
        return -1;
      x5 = XEXP (x4, 0);
      operands[0] = x5;
      x6 = XEXP (x1, 1);
      operands[1] = x6;
      if (call_insn_operand (operands[0], SImode)
          && (
#line 11831 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!SIBLING_CALL_P (insn)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode)))
        return 654; /* *call */
      if (call_insn_operand (operands[0], DImode)
          && (
#line 11831 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!SIBLING_CALL_P (insn)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode)))
        return 655; /* *call */
      switch (GET_CODE (x5))
        {
        case ZERO_EXTEND:
          if (GET_MODE (x5) == DImode)
            {
              x7 = XEXP (x5, 0);
              operands[0] = x7;
              if (GOT_memory_operand (operands[0], SImode))
                {
                  operands[1] = x6;
                  if (
#line 11840 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_X32))
                    return 656; /* *call_got_x32 */
                }
            }
          break;

        case MEM:
          if (GET_MODE (x5) == SImode)
            {
              x7 = XEXP (x5, 0);
              if (GET_CODE (x7) == PLUS
                  && GET_MODE (x7) == SImode)
                {
                  x8 = XEXP (x7, 0);
                  operands[0] = x8;
                  if (register_no_elim_operand (operands[0], SImode))
                    {
                      x9 = XEXP (x7, 1);
                      operands[1] = x9;
                      if (GOT32_symbol_operand (operands[1], SImode))
                        {
                          operands[2] = x6;
                          if (
#line 11855 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_MACHO && !TARGET_64BIT && SIBLING_CALL_P (insn)))
                            return 657; /* *sibcall_GOT_32 */
                        }
                    }
                }
            }
          break;

        default:
          break;
        }
      operands[0] = x5;
      operands[1] = x6;
      if (sibcall_insn_operand (operands[0], SImode)
          && (
#line 11866 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(SIBLING_CALL_P (insn)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode)))
        return 658; /* *sibcall */
      if (!sibcall_insn_operand (operands[0], DImode)
          || !(
#line 11866 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(SIBLING_CALL_P (insn)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode)))
        return -1;
      return 659; /* *sibcall */

    case UNSPEC_VOLATILE:
      switch (XVECLEN (x1, 0))
        {
        case 1:
          switch (XINT (x1, 1))
            {
            case 0:
              x2 = XVECEXP (x1, 0, 0);
              if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                return -1;
              return 676; /* blockage */

            case 4:
              x2 = XVECEXP (x1, 0, 0);
              operands[0] = x2;
              return 678; /* prologue_use */

            case 7:
              x2 = XVECEXP (x1, 0, 0);
              operands[0] = x2;
              if (!const_int_operand (operands[0], VOIDmode)
                  || !
#line 12393 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
                return -1;
              return 685; /* nops */

            case 3:
              x2 = XVECEXP (x1, 0, 0);
              operands[0] = x2;
              return 686; /* pad */

            case 5:
              x2 = XVECEXP (x1, 0, 0);
              operands[0] = x2;
              if (!const_int_operand (operands[0], SImode))
                return -1;
              return 695; /* split_stack_return */

            case 6:
              x2 = XVECEXP (x1, 0, 0);
              if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                return -1;
              return 922; /* cld */

            case 20:
              x2 = XVECEXP (x1, 0, 0);
              operands[0] = x2;
              if (!memory_operand (operands[0], BLKmode)
                  || !
#line 18878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_FXSR))
                return -1;
              return 1017; /* fxrstor */

            case 22:
              x2 = XVECEXP (x1, 0, 0);
              operands[0] = x2;
              if (!memory_operand (operands[0], BLKmode)
                  || !
#line 18888 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_FXSR))
                return -1;
              return 1018; /* fxrstor64 */

            case 36:
              if (pnum_clobbers == NULL)
                return -1;
              x2 = XVECEXP (x1, 0, 0);
              operands[0] = x2;
              if (!memory_operand (operands[0], BLKmode)
                  || !
#line 19047 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387))
                return -1;
              *pnum_clobbers = 10;
              return 1038; /* fldenv */

            case 38:
              x2 = XVECEXP (x1, 0, 0);
              if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
                  || !
#line 19066 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387))
                return -1;
              return 1040; /* fnclex */

            case 11:
              x2 = XVECEXP (x1, 0, 0);
              operands[0] = x2;
              switch (GET_MODE (operands[0]))
                {
                case SImode:
                  if (!register_operand (operands[0], SImode)
                      || !(
#line 19086 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_LWP) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  return 1041; /* *lwp_llwpcbsi1 */

                case DImode:
                  if (!register_operand (operands[0], DImode)
                      || !(
#line 19086 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_LWP) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  return 1042; /* *lwp_llwpcbdi1 */

                default:
                  return -1;
                }

            case 17:
              x2 = XVECEXP (x1, 0, 0);
              operands[0] = x2;
              switch (GET_MODE (operands[0]))
                {
                case SImode:
                  if (!register_operand (operands[0], SImode)
                      || !
#line 19185 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_FSGSBASE))
                    return -1;
                  return 1053; /* wrfsbasesi */

                case DImode:
                  if (!register_operand (operands[0], DImode)
                      || !(
#line 19185 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_FSGSBASE) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                    return -1;
                  return 1055; /* wrfsbasedi */

                default:
                  return -1;
                }

            case 18:
              x2 = XVECEXP (x1, 0, 0);
              operands[0] = x2;
              switch (GET_MODE (operands[0]))
                {
                case SImode:
                  if (!register_operand (operands[0], SImode)
                      || !
#line 19185 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_FSGSBASE))
                    return -1;
                  return 1054; /* wrgsbasesi */

                case DImode:
                  if (!register_operand (operands[0], DImode)
                      || !(
#line 19185 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_FSGSBASE) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                    return -1;
                  return 1056; /* wrgsbasedi */

                default:
                  return -1;
                }

            case 42:
              x2 = XVECEXP (x1, 0, 0);
              if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
                  || !
#line 19266 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_RTM))
                return -1;
              return 1065; /* xend */

            case 43:
              x2 = XVECEXP (x1, 0, 0);
              operands[0] = x2;
              if (!const_0_to_255_operand (operands[0], SImode)
                  || !
#line 19274 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_RTM))
                return -1;
              return 1066; /* xabort */

            case 46:
              x2 = XVECEXP (x1, 0, 0);
              operands[0] = x2;
              if (!address_operand (operands[0], VOIDmode)
                  || !
#line 19302 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_CLWB))
                return -1;
              return 1068; /* clwb */

            case 47:
              x2 = XVECEXP (x1, 0, 0);
              operands[0] = x2;
              if (!address_operand (operands[0], VOIDmode)
                  || !
#line 19311 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_CLFLUSHOPT))
                return -1;
              return 1069; /* clflushopt */

            case 50:
              x2 = XVECEXP (x1, 0, 0);
              operands[0] = x2;
              switch (GET_MODE (operands[0]))
                {
                case SImode:
                  if (!register_operand (operands[0], SImode)
                      || !(
#line 19347 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_CLZERO) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  return 1073; /* clzero_si */

                case DImode:
                  if (!register_operand (operands[0], DImode)
                      || !(
#line 19347 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_CLZERO) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  return 1074; /* clzero_di */

                default:
                  return -1;
                }

            case 55:
              x2 = XVECEXP (x1, 0, 0);
              operands[0] = x2;
              if (!memory_operand (operands[0], SImode)
                  || !
#line 14141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE))
                return -1;
              return 3702; /* sse_ldmxcsr */

            case 57:
              x2 = XVECEXP (x1, 0, 0);
              operands[0] = x2;
              if (!address_operand (operands[0], VOIDmode)
                  || !
#line 14161 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2))
                return -1;
              return 3704; /* sse2_clflush */

            case 61:
              x2 = XVECEXP (x1, 0, 0);
              if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
                  || !
#line 17268 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX))
                return -1;
              return 4086; /* avx_vzeroupper */

            default:
              return -1;
            }

        case 2:
          x2 = XVECEXP (x1, 0, 0);
          operands[0] = x2;
          x10 = XVECEXP (x1, 0, 1);
          operands[1] = x10;
          switch (XINT (x1, 1))
            {
            case 24:
              if (GET_MODE (x1) != BLKmode
                  || !memory_operand (operands[0], BLKmode)
                  || !register_operand (operands[1], DImode)
                  || !
#line 18974 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_XSAVE))
                return -1;
              return 1031; /* xrstor */

            case 30:
              if (GET_MODE (x1) != BLKmode
                  || !memory_operand (operands[0], BLKmode)
                  || !register_operand (operands[1], DImode)
                  || !(
#line 18974 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_XSAVE) && 
#line 18919 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_XSAVES)))
                return -1;
              return 1032; /* xrstors */

            case 59:
              if (!register_operand (operands[0], SImode)
                  || !register_operand (operands[1], SImode)
                  || !
#line 14174 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE3))
                return -1;
              return 3705; /* sse3_mwait */

            default:
              return -1;
            }

        case 3:
          x2 = XVECEXP (x1, 0, 0);
          operands[0] = x2;
          x10 = XVECEXP (x1, 0, 1);
          operands[1] = x10;
          x11 = XVECEXP (x1, 0, 2);
          operands[2] = x11;
          switch (XINT (x1, 1))
            {
            case 24:
              if (pattern281 (x1) != 0
                  || !
#line 18987 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_XSAVE))
                return -1;
              return 1033; /* xrstor_rex64 */

            case 30:
              if (pattern281 (x1) != 0
                  || !(
#line 18987 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_XSAVE) && 
#line 18919 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_XSAVES)))
                return -1;
              return 1034; /* xrstors_rex64 */

            case 26:
              if (pattern281 (x1) != 0
                  || !
#line 19000 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_XSAVE))
                return -1;
              return 1035; /* xrstor64 */

            case 32:
              if (pattern281 (x1) != 0
                  || !(
#line 19000 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_XSAVE) && 
#line 18923 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_XSAVES)))
                return -1;
              return 1036; /* xrstors64 */

            case 13:
              if (!nonimmediate_operand (operands[1], SImode)
                  || !const_int_operand (operands[2], SImode))
                return -1;
              switch (GET_MODE (operands[0]))
                {
                case SImode:
                  if (!register_operand (operands[0], SImode)
                      || !
#line 19130 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_LWP))
                    return -1;
                  return 1045; /* *lwp_lwpvalsi3_1 */

                case DImode:
                  if (!register_operand (operands[0], DImode)
                      || !(
#line 19130 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_LWP) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                    return -1;
                  return 1046; /* *lwp_lwpvaldi3_1 */

                default:
                  return -1;
                }

            case 49:
              if (!register_operand (operands[0], SImode)
                  || !register_operand (operands[1], SImode)
                  || !register_operand (operands[2], SImode)
                  || !
#line 19323 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_MWAITX))
                return -1;
              return 1070; /* mwaitx */

            case 48:
              switch (pattern282 ())
                {
                case 0:
                  if (!(
#line 19335 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_MWAITX) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  return 1071; /* monitorx_si */

                case 1:
                  if (!(
#line 19335 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_MWAITX) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  return 1072; /* monitorx_di */

                default:
                  return -1;
                }

            case 51:
              if (GET_MODE (x1) != SImode
                  || !register_operand (operands[0], SImode)
                  || !register_operand (operands[1], SImode)
                  || !register_operand (operands[2], SImode)
                  || !
#line 19545 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_PKU))
                return -1;
              return 1092; /* *wrpkru */

            case 58:
              switch (pattern282 ())
                {
                case 0:
                  if (!(
#line 14186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE3) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                    return -1;
                  return 3706; /* sse3_monitor_si */

                case 1:
                  if (!(
#line 14186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE3) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                    return -1;
                  return 3707; /* sse3_monitor_di */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    case SIMPLE_RETURN:
      if (!
#line 12327 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
        return -1;
      return 679; /* simple_return_internal */

    case CONST_INT:
      if (XWINT (x1, 0) != 0LL)
        return -1;
      return 684; /* nop */

    case EH_RETURN:
      return 692; /* eh_return_internal */

    case TRAP_IF:
      x4 = XEXP (x1, 0);
      if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
        return -1;
      x6 = XEXP (x1, 1);
      if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
        return -1;
      return 993; /* trap */

    case PREFETCH:
      x6 = XEXP (x1, 1);
      if (GET_CODE (x6) != CONST_INT)
        return -1;
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      if (!address_operand (operands[0], VOIDmode))
        return -1;
      switch (XWINT (x6, 0))
        {
        case 0LL:
          x12 = XEXP (x1, 2);
          operands[1] = x12;
          if (const_int_operand (operands[1], SImode)
              && 
#line 18621 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_PREFETCH_SSE))
            return 994; /* *prefetch_sse */
          break;

        case 1LL:
          x12 = XEXP (x1, 2);
          if (x12 == const_int_rtx[MAX_SAVED_CONST_INT + 2]
              && 
#line 18658 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_PREFETCHWT1))
            return 996; /* *prefetch_prefetchwt1 */
          break;

        default:
          break;
        }
      x12 = XEXP (x1, 2);
      if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
        return -1;
      operands[1] = x6;
      if (!const_int_operand (operands[1], SImode)
          || !
#line 18642 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_3DNOW || TARGET_PRFCHW || TARGET_PREFETCHWT1))
        return -1;
      return 995; /* *prefetch_3dnow */

    case UNSPEC:
      if (XVECLEN (x1, 0) != 3)
        return -1;
      x10 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x10) != MEM)
        return -1;
      operands[5] = x10;
      x13 = XEXP (x10, 0);
      if (GET_CODE (x13) != UNSPEC
          || XVECLEN (x13, 0) != 3
          || XINT (x13, 1) != 147)
        return -1;
      x2 = XVECEXP (x1, 0, 0);
      operands[0] = x2;
      x14 = XVECEXP (x13, 0, 0);
      operands[2] = x14;
      x15 = XVECEXP (x13, 0, 1);
      operands[1] = x15;
      x16 = XVECEXP (x13, 0, 2);
      operands[3] = x16;
      if (!const1248_operand (operands[3], SImode))
        return -1;
      x11 = XVECEXP (x1, 0, 2);
      operands[4] = x11;
      switch (XINT (x1, 1))
        {
        case 174:
          if (!const_2_to_3_operand (operands[4], SImode))
            return -1;
          switch (pattern718 (x13))
            {
            case 0:
              if (!(
#line 16010 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512PF) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return -1;
              return 3935; /* *avx512pf_gatherpfv16sisf_mask */

            case 1:
              if (!(
#line 16010 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512PF) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return -1;
              return 3936; /* *avx512pf_gatherpfv16sisf_mask */

            case 2:
              if (!(
#line 16010 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512PF) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return -1;
              return 3937; /* *avx512pf_gatherpfv8disf_mask */

            case 3:
              if (!(
#line 16010 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512PF) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return -1;
              return 3938; /* *avx512pf_gatherpfv8disf_mask */

            case 4:
              if (!(
#line 16055 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512PF) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return -1;
              return 3939; /* *avx512pf_gatherpfv8sidf_mask */

            case 5:
              if (!(
#line 16055 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512PF) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return -1;
              return 3941; /* *avx512pf_gatherpfv8didf_mask */

            case 6:
              if (!(
#line 16055 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512PF) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return -1;
              return 3940; /* *avx512pf_gatherpfv8sidf_mask */

            case 7:
              if (!(
#line 16055 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512PF) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return -1;
              return 3942; /* *avx512pf_gatherpfv8didf_mask */

            default:
              return -1;
            }

        case 175:
          if (!const2367_operand (operands[4], SImode))
            return -1;
          switch (pattern718 (x13))
            {
            case 0:
              if (!(
#line 16100 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512PF) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return -1;
              return 3943; /* *avx512pf_scatterpfv16sisf_mask */

            case 1:
              if (!(
#line 16100 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512PF) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return -1;
              return 3944; /* *avx512pf_scatterpfv16sisf_mask */

            case 2:
              if (!(
#line 16100 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512PF) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return -1;
              return 3945; /* *avx512pf_scatterpfv8disf_mask */

            case 3:
              if (!(
#line 16100 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512PF) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return -1;
              return 3946; /* *avx512pf_scatterpfv8disf_mask */

            case 4:
              if (!(
#line 16147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512PF) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return -1;
              return 3947; /* *avx512pf_scatterpfv8sidf_mask */

            case 5:
              if (!(
#line 16147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512PF) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return -1;
              return 3949; /* *avx512pf_scatterpfv8didf_mask */

            case 6:
              if (!(
#line 16147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512PF) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return -1;
              return 3948; /* *avx512pf_scatterpfv8sidf_mask */

            case 7:
              if (!(
#line 16147 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512PF) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return -1;
              return 3950; /* *avx512pf_scatterpfv8didf_mask */

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static rtx_insn *
split_1 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) != CLOBBER)
    return NULL;
  x3 = XVECEXP (x1, 0, 0);
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != CCFPmode)
    return NULL;
  x5 = XEXP (x3, 1);
  if (GET_MODE (x5) != CCFPmode)
    return NULL;
  x6 = XEXP (x2, 0);
  operands[0] = x6;
  if (!register_operand (operands[0], HImode))
    return NULL;
  switch (pattern719 ())
    {
    case 0:
      if (!(
#line 1496 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && TARGET_SAHF && !TARGET_CMOVE) && 
#line 1498 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
        return NULL;
      return gen_split_1 (insn, operands);

    case 1:
      if (!(
#line 1496 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && TARGET_SAHF && !TARGET_CMOVE) && 
#line 1498 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
        return NULL;
      return gen_split_2 (insn, operands);

    case 2:
      if (!(
#line 1496 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && TARGET_SAHF && !TARGET_CMOVE) && 
#line 1498 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
        return NULL;
      return gen_split_3 (insn, operands);

    default:
      return NULL;
    }
}

static rtx_insn *
split_2 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
    case MEM:
      operands[1] = x4;
      x5 = XEXP (x3, 1);
      operands[2] = x5;
      switch (GET_MODE (operands[0]))
        {
        case DImode:
          if (GET_MODE (x3) != DImode)
            return NULL;
          if (nonimmediate_operand (operands[0], DImode)
              && nonimmediate_operand (operands[1], DImode)
              && x86_64_hilo_general_operand (operands[2], DImode)
              && (
#line 5517 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed) && 
#line 1041 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT)))
            return gen_split_106 (insn, operands);
          if (!register_operand (operands[0], DImode)
              || !register_operand (operands[1], DImode)
              || !x86_64_nonmemory_operand (operands[2], DImode))
            return NULL;
          if ((
#line 5798 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed && ix86_avoid_lea_for_add (insn, operands)) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return gen_split_109 (insn, operands);
          if (!(
#line 5824 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed && ix86_lea_for_add_ok (insn, operands)) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return NULL;
          return gen_split_114 (insn, operands);

        case TImode:
          if (pattern639 (x3, TImode) != 0
              || !(
#line 5517 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed) && 
#line 1042 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return NULL;
          return gen_split_107 (insn, operands);

        case SImode:
          if (pattern691 (x3, SImode) != 0)
            return NULL;
          if (
#line 5798 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed && ix86_avoid_lea_for_add (insn, operands)))
            return gen_split_108 (insn, operands);
          if (!
#line 5824 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed && ix86_lea_for_add_ok (insn, operands)))
            return NULL;
          return gen_split_113 (insn, operands);

        case QImode:
          if (pattern692 (x3, QImode) != 0
              || !
#line 5824 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed && ix86_lea_for_add_ok (insn, operands)))
            return NULL;
          return gen_split_111 (insn, operands);

        case HImode:
          if (pattern692 (x3, HImode) != 0
              || !
#line 5824 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed && ix86_lea_for_add_ok (insn, operands)))
            return NULL;
          return gen_split_112 (insn, operands);

        default:
          return NULL;
        }

    case UNSPEC:
      if (XINT (x4, 1) != 23)
        return NULL;
      x5 = XEXP (x3, 1);
      if (GET_CODE (x5) != CONST)
        return NULL;
      x6 = XEXP (x5, 0);
      if (GET_CODE (x6) != UNSPEC
          || XVECLEN (x6, 0) != 1
          || XINT (x6, 1) != 6)
        return NULL;
      x7 = XVECEXP (x6, 0, 0);
      operands[1] = x7;
      if (!tls_symbolic_operand (operands[1], VOIDmode))
        return NULL;
      switch (XVECLEN (x4, 0))
        {
        case 4:
          if (pattern579 (x4) != 0
              || pattern884 (x3) != 0
              || GET_MODE (x5) != SImode
              || GET_MODE (x6) != SImode)
            return NULL;
          return gen_split_300 (insn, operands);

        case 3:
          if (GET_MODE (x4) != DImode)
            return NULL;
          x8 = XVECEXP (x4, 0, 2);
          if (GET_CODE (x8) != REG
              || REGNO (x8) != 7
              || GET_MODE (x8) != DImode
              || !register_operand (operands[0], DImode)
              || GET_MODE (x3) != DImode)
            return NULL;
          x9 = XVECEXP (x4, 0, 0);
          operands[2] = x9;
          if (!tls_modbase_operand (operands[2], VOIDmode))
            return NULL;
          x10 = XVECEXP (x4, 0, 1);
          operands[3] = x10;
          if (GET_MODE (x5) != DImode
              || GET_MODE (x6) != DImode)
            return NULL;
          return gen_split_301 (insn, operands);

        default:
          return NULL;
        }

    default:
      return NULL;
    }
}

static rtx_insn *
split_3 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != ZERO_EXTEND)
    return NULL;
  x5 = XEXP (x3, 1);
  if (GET_CODE (x5) != ZERO_EXTEND)
    return NULL;
  x6 = XEXP (x4, 0);
  operands[1] = x6;
  x7 = XEXP (x5, 0);
  operands[2] = x7;
  switch (GET_MODE (operands[0]))
    {
    case DImode:
      if (pattern720 (x3, SImode, DImode) != 0
          || !(
#line 7309 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI2 && reload_completed
  && REGNO (operands[1]) == DX_REG) && 
#line 1041 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT)))
        return NULL;
      return gen_split_136 (insn, operands);

    case TImode:
      if (pattern720 (x3, DImode, TImode) != 0
          || !(
#line 7309 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI2 && reload_completed
  && REGNO (operands[1]) == DX_REG) && 
#line 1042 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
        return NULL;
      return gen_split_137 (insn, operands);

    default:
      return NULL;
    }
}

static rtx_insn *
split_4 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case CONST_INT:
    case CONST_WIDE_INT:
    case CONST_FIXED:
    case CONST_DOUBLE:
    case CONST_VECTOR:
    case CONST:
    case REG:
    case SUBREG:
    case MEM:
    case LABEL_REF:
    case SYMBOL_REF:
    case HIGH:
      operands[1] = x4;
      x5 = XEXP (x3, 1);
      operands[2] = x5;
      switch (GET_MODE (operands[0]))
        {
        case DImode:
          if (pattern676 (x3) == 0
              && (
#line 8155 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_STV && TARGET_SSE2
   && ix86_binary_operator_ok (AND, DImode, operands)) && 
#line 8158 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
            return gen_split_159 (insn, operands);
          break;

        case HImode:
          if (pattern644 (x3, HImode) == 0
              && 
#line 8283 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed
   && (!REG_P (operands[1])
       || REGNO (operands[0]) != REGNO (operands[1]))))
            return gen_split_161 (insn, operands);
          break;

        case SImode:
          if (pattern644 (x3, SImode) == 0
              && 
#line 8283 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed
   && (!REG_P (operands[1])
       || REGNO (operands[0]) != REGNO (operands[1]))))
            return gen_split_162 (insn, operands);
          break;

        default:
          break;
        }
      if (GET_CODE (x5) == CONST_INT)
        {
          if (rtx_equal_p (x4, operands[0]))
            {
              switch (XWINT (x5, 0))
                {
                case -65536LL:
                  if (register_operand (operands[0], SImode)
                      && GET_MODE (x3) == SImode
                      && 
#line 8327 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((TARGET_FAST_PREFIX && !TARGET_PARTIAL_REG_STALL)
    || optimize_function_for_size_p (cfun)))
                    return gen_split_164 (insn, operands);
                  break;

                case -256LL:
                  switch (GET_MODE (operands[0]))
                    {
                    case HImode:
                      if (any_QIreg_operand (operands[0], HImode)
                          && GET_MODE (x3) == HImode
                          && 
#line 8337 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   && reload_completed))
                        return gen_split_166 (insn, operands);
                      break;

                    case SImode:
                      if (any_QIreg_operand (operands[0], SImode)
                          && GET_MODE (x3) == SImode
                          && 
#line 8337 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   && reload_completed))
                        return gen_split_167 (insn, operands);
                      break;

                    default:
                      break;
                    }
                  break;

                case -65281LL:
                  switch (GET_MODE (operands[0]))
                    {
                    case HImode:
                      if (QIreg_operand (operands[0], HImode)
                          && GET_MODE (x3) == HImode
                          && 
#line 8347 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   && reload_completed))
                        return gen_split_169 (insn, operands);
                      break;

                    case SImode:
                      if (QIreg_operand (operands[0], SImode)
                          && GET_MODE (x3) == SImode
                          && 
#line 8347 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   && reload_completed))
                        return gen_split_170 (insn, operands);
                      break;

                    default:
                      break;
                    }
                  break;

                default:
                  break;
                }
            }
          operands[2] = x5;
          operands[1] = x4;
          switch (GET_MODE (operands[0]))
            {
            case HImode:
              if (GET_MODE (x3) == HImode
                  && const_int_operand (operands[2], HImode))
                {
                  if (QIreg_operand (operands[0], HImode)
                      && register_operand (operands[1], HImode)
                      && 
#line 8544 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed
    && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
    && !(~INTVAL (operands[2]) & ~(255 << 8))))
                    return gen_split_172 (insn, operands);
                  if (any_QIreg_operand (operands[0], HImode)
                      && general_operand (operands[1], HImode)
                      && 
#line 8572 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed
    && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
    && !(~INTVAL (operands[2]) & ~255)
    && !(INTVAL (operands[2]) & 128)))
                    return gen_split_175 (insn, operands);
                }
              break;

            case SImode:
              if (GET_MODE (x3) == SImode
                  && const_int_operand (operands[2], SImode))
                {
                  if (QIreg_operand (operands[0], SImode)
                      && register_operand (operands[1], SImode)
                      && 
#line 8544 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed
    && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
    && !(~INTVAL (operands[2]) & ~(255 << 8))))
                    return gen_split_173 (insn, operands);
                  if (any_QIreg_operand (operands[0], SImode)
                      && general_operand (operands[1], SImode)
                      && 
#line 8572 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed
    && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
    && !(~INTVAL (operands[2]) & ~255)
    && !(INTVAL (operands[2]) & 128)))
                    return gen_split_176 (insn, operands);
                }
              break;

            default:
              break;
            }
        }
      if (GET_MODE (x3) != DImode)
        return NULL;
      if (GET_CODE (x4) == SUBREG
          && XINT (x4, 1) == 0
          && GET_MODE (x4) == DImode
          && register_operand (operands[0], DImode))
        {
          x6 = XEXP (x4, 0);
          operands[1] = x6;
          if (register_operand (operands[1], SImode))
            {
              operands[2] = x5;
              if (x86_64_zext_immediate_operand (operands[2], DImode)
                  && 
#line 8210 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT))
                return gen_split_160 (insn, operands);
            }
        }
      if (GET_CODE (x5) != CONST_INT)
        return NULL;
      operands[2] = x5;
      if (const_int_operand (operands[2], DImode)
          && register_operand (operands[0], DImode))
        {
          operands[1] = x4;
          if (nonimmediate_operand (operands[1], DImode)
              && (
#line 8283 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed
   && (!REG_P (operands[1])
       || REGNO (operands[0]) != REGNO (operands[1]))) && 
#line 986 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return gen_split_163 (insn, operands);
        }
      if (rtx_equal_p (x4, operands[0]))
        {
          switch (XWINT (x5, 0))
            {
            case -65536LL:
              if (register_operand (operands[0], DImode)
                  && (
#line 8327 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((TARGET_FAST_PREFIX && !TARGET_PARTIAL_REG_STALL)
    || optimize_function_for_size_p (cfun)) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return gen_split_165 (insn, operands);
              break;

            case -256LL:
              if (any_QIreg_operand (operands[0], DImode)
                  && (
#line 8337 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   && reload_completed) && 
#line 986 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return gen_split_168 (insn, operands);
              break;

            case -65281LL:
              if (QIreg_operand (operands[0], DImode)
                  && (
#line 8347 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   && reload_completed) && 
#line 986 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return gen_split_171 (insn, operands);
              break;

            default:
              break;
            }
        }
      operands[2] = x5;
      if (!const_int_operand (operands[2], DImode))
        return NULL;
      operands[1] = x4;
      if (register_operand (operands[1], DImode)
          && QIreg_operand (operands[0], DImode)
          && (
#line 8544 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed
    && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
    && !(~INTVAL (operands[2]) & ~(255 << 8))) && 
#line 986 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
        return gen_split_174 (insn, operands);
      if (!general_operand (operands[1], DImode)
          || !any_QIreg_operand (operands[0], DImode)
          || !(
#line 8572 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed
    && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
    && !(~INTVAL (operands[2]) & ~255)
    && !(INTVAL (operands[2]) & 128)) && 
#line 986 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
        return NULL;
      return gen_split_177 (insn, operands);

    case NOT:
      if (GET_MODE (x4) != DImode
          || !register_operand (operands[0], DImode)
          || GET_MODE (x3) != DImode)
        return NULL;
      x5 = XEXP (x3, 1);
      if (!nonimmediate_operand (x5, DImode))
        return NULL;
      operands[2] = x5;
      x6 = XEXP (x4, 0);
      operands[1] = x6;
      if (register_operand (operands[1], DImode)
          && 
#line 8602 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_BMI && TARGET_STV && TARGET_SSE2
   && reload_completed))
        return gen_split_178 (insn, operands);
      operands[1] = x5;
      if (!rtx_equal_p (x6, operands[0])
          || !
#line 8618 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && !TARGET_BMI && TARGET_STV && TARGET_SSE2
   && reload_completed))
        return NULL;
      return gen_split_179 (insn, operands);

    default:
      return NULL;
    }
}

static rtx_insn *
split_5 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  x5 = XEXP (x3, 1);
  operands[2] = x5;
  switch (GET_MODE (operands[0]))
    {
    case DImode:
      if (register_operand (operands[0], DImode)
          && GET_MODE (x3) == DImode)
        {
          if (nonmemory_operand (operands[1], DImode)
              && nonmemory_operand (operands[2], QImode)
              && (
#line 9539 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((optimize && flag_peephole2) ? epilogue_completed : reload_completed) && 
#line 1016 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT)))
            return gen_split_213 (insn, operands);
          if (index_register_operand (operands[1], DImode)
              && const_0_to_3_operand (operands[2], VOIDmode)
              && (
#line 9955 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed
   && REGNO (operands[0]) != REGNO (operands[1])) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return gen_split_223 (insn, operands);
        }
      break;

    case TImode:
      if (register_operand (operands[0], TImode)
          && GET_MODE (x3) == TImode
          && nonmemory_operand (operands[1], TImode)
          && nonmemory_operand (operands[2], QImode)
          && (
#line 9539 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((optimize && flag_peephole2) ? epilogue_completed : reload_completed) && 
#line 1017 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
        return gen_split_214 (insn, operands);
      break;

    case QImode:
      if (pattern640 (x3, QImode) == 0
          && 
#line 9955 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed
   && REGNO (operands[0]) != REGNO (operands[1])))
        return gen_split_220 (insn, operands);
      break;

    case HImode:
      if (pattern640 (x3, HImode) == 0
          && 
#line 9955 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed
   && REGNO (operands[0]) != REGNO (operands[1])))
        return gen_split_221 (insn, operands);
      break;

    case SImode:
      if (pattern640 (x3, SImode) == 0
          && 
#line 9955 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed
   && REGNO (operands[0]) != REGNO (operands[1])))
        return gen_split_222 (insn, operands);
      break;

    default:
      break;
    }
  if (GET_CODE (x5) == SUBREG)
    {
      switch (pattern552 (x3))
        {
        case 0:
          if ((
#line 9647 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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
   && can_create_pseudo_p ()) && 
#line 9652 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( 1)))
            return gen_split_215 (insn, operands);
          break;

        case 1:
          if (((
#line 9647 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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
   && can_create_pseudo_p ()) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)) && 
#line 9652 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( 1)))
            return gen_split_216 (insn, operands);
          break;

        default:
          break;
        }
    }
  operands[2] = x5;
  if (!register_operand (operands[2], QImode))
    return NULL;
  switch (pattern116 (x3))
    {
    case 0:
      if (!
#line 9725 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI2 && reload_completed))
        return NULL;
      return gen_split_217 (insn, operands);

    case 1:
      if (!(
#line 9725 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI2 && reload_completed) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
        return NULL;
      return gen_split_218 (insn, operands);

    default:
      return NULL;
    }
}

static rtx_insn *
split_6 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  operands[0] = x3;
  x4 = XEXP (x2, 1);
  switch (XVECLEN (x4, 0))
    {
    case 4:
      if (XINT (x4, 1) != 48)
        return NULL;
      x5 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x5) != CLOBBER)
        return NULL;
      x6 = XVECEXP (x4, 0, 0);
      operands[2] = x6;
      x7 = XVECEXP (x4, 0, 1);
      operands[3] = x7;
      x8 = XVECEXP (x4, 0, 2);
      operands[4] = x8;
      x9 = XVECEXP (x4, 0, 3);
      operands[5] = x9;
      x10 = XEXP (x5, 0);
      operands[1] = x10;
      switch (GET_MODE (operands[0]))
        {
        case SFmode:
          if (pattern690 (x4, V4SFmode, SFmode) != 0
              || !
#line 9381 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(((SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
    || (TARGET_SSE && (SFmode == TFmode)))
   && reload_completed))
            return NULL;
          return gen_split_204 (insn, operands);

        case DFmode:
          if (pattern690 (x4, V2DFmode, DFmode) != 0
              || !
#line 9381 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(((SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
    || (TARGET_SSE && (DFmode == TFmode)))
   && reload_completed))
            return NULL;
          return gen_split_205 (insn, operands);

        case TFmode:
          if (pattern678 (x4) != 0
              || !scratch_operand (operands[1], TFmode)
              || !
#line 9381 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(((SSE_FLOAT_MODE_P (TFmode) && TARGET_SSE_MATH)
    || (TARGET_SSE && (TFmode == TFmode)))
   && reload_completed))
            return NULL;
          return gen_split_206 (insn, operands);

        default:
          return NULL;
        }

    case 1:
      switch (XINT (x4, 1))
        {
        case 86:
          switch (pattern336 (x1))
            {
            case 0:
              if (!(
#line 12889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI) && 
#line 12910 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
   && optimize_function_for_speed_p (cfun)
   && !reg_mentioned_p (operands[0], operands[1]))))
                return NULL;
              return gen_split_290 (insn, operands);

            case 1:
              if (!((((
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT) && 
#line 12889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI)) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)) && 
#line 12889 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI)) && 
#line 12910 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
   && optimize_function_for_speed_p (cfun)
   && !reg_mentioned_p (operands[0], operands[1]))))
                return NULL;
              return gen_split_292 (insn, operands);

            default:
              return NULL;
            }

        case 85:
          switch (pattern336 (x1))
            {
            case 0:
              if (!(
#line 12890 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_LZCNT) && 
#line 12910 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
   && optimize_function_for_speed_p (cfun)
   && !reg_mentioned_p (operands[0], operands[1]))))
                return NULL;
              return gen_split_291 (insn, operands);

            case 1:
              if (!((((
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT) && 
#line 12890 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_LZCNT)) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)) && 
#line 12890 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_LZCNT)) && 
#line 12910 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
   && optimize_function_for_speed_p (cfun)
   && !reg_mentioned_p (operands[0], operands[1]))))
                return NULL;
              return gen_split_293 (insn, operands);

            default:
              return NULL;
            }

        case 67:
          if (pattern268 (x1, 68, XFmode, UNSPEC, 1) != 0)
            return NULL;
          switch (pattern257 (x1))
            {
            case 0:
              if (
#line 14589 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(find_regno_note (insn, REG_UNUSED, REGNO (operands[0]))
   && can_create_pseudo_p ()))
                return gen_split_302 (insn, operands);
              if (!
#line 14599 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(find_regno_note (insn, REG_UNUSED, REGNO (operands[1]))
   && can_create_pseudo_p ()))
                return NULL;
              return gen_split_303 (insn, operands);

            case 1:
              if (
#line 14626 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(find_regno_note (insn, REG_UNUSED, REGNO (operands[0]))
   && can_create_pseudo_p ()))
                return gen_split_304 (insn, operands);
              if (!
#line 14638 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(find_regno_note (insn, REG_UNUSED, REGNO (operands[1]))
   && can_create_pseudo_p ()))
                return NULL;
              return gen_split_306 (insn, operands);

            case 2:
              if (
#line 14626 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(find_regno_note (insn, REG_UNUSED, REGNO (operands[0]))
   && can_create_pseudo_p ()))
                return gen_split_305 (insn, operands);
              if (!
#line 14638 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(find_regno_note (insn, REG_UNUSED, REGNO (operands[1]))
   && can_create_pseudo_p ()))
                return NULL;
              return gen_split_307 (insn, operands);

            default:
              return NULL;
            }

        case 57:
          x5 = XVECEXP (x1, 0, 1);
          if (GET_CODE (x5) != CLOBBER)
            return NULL;
          x6 = XVECEXP (x4, 0, 0);
          operands[1] = x6;
          if (!register_operand (operands[1], XFmode))
            return NULL;
          x10 = XEXP (x5, 0);
          operands[2] = x10;
          switch (GET_MODE (operands[0]))
            {
            case HImode:
              if (GET_MODE (x4) != HImode
                  || !memory_operand (operands[2], HImode))
                return NULL;
              if (register_operand (operands[0], HImode)
                  && 
#line 15662 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
                return gen_split_313 (insn, operands);
              if (!memory_operand (operands[0], HImode)
                  || !
#line 15671 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
                return NULL;
              return gen_split_315 (insn, operands);

            case SImode:
              if (GET_MODE (x4) != SImode
                  || !memory_operand (operands[2], SImode))
                return NULL;
              if (register_operand (operands[0], SImode)
                  && 
#line 15662 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
                return gen_split_314 (insn, operands);
              if (!memory_operand (operands[0], SImode)
                  || !
#line 15671 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
                return NULL;
              return gen_split_316 (insn, operands);

            default:
              return NULL;
            }

        case 61:
          switch (pattern337 (x1))
            {
            case 0:
              if (!(
#line 15748 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (flag_fp_int_builtin_inexact || !flag_trapping_math)
   && can_create_pseudo_p ()) && 
#line 15752 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( 1)))
                return NULL;
              return gen_split_317 (insn, operands);

            case 1:
              if (!(
#line 15748 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (flag_fp_int_builtin_inexact || !flag_trapping_math)
   && can_create_pseudo_p ()) && 
#line 15752 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( 1)))
                return NULL;
              return gen_split_320 (insn, operands);

            case 2:
              if (!(
#line 15748 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (flag_fp_int_builtin_inexact || !flag_trapping_math)
   && can_create_pseudo_p ()) && 
#line 15752 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( 1)))
                return NULL;
              return gen_split_323 (insn, operands);

            default:
              return NULL;
            }

        case 62:
          switch (pattern337 (x1))
            {
            case 0:
              if (!(
#line 15748 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (flag_fp_int_builtin_inexact || !flag_trapping_math)
   && can_create_pseudo_p ()) && 
#line 15752 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( 1)))
                return NULL;
              return gen_split_318 (insn, operands);

            case 1:
              if (!(
#line 15748 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (flag_fp_int_builtin_inexact || !flag_trapping_math)
   && can_create_pseudo_p ()) && 
#line 15752 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( 1)))
                return NULL;
              return gen_split_321 (insn, operands);

            case 2:
              if (!(
#line 15748 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (flag_fp_int_builtin_inexact || !flag_trapping_math)
   && can_create_pseudo_p ()) && 
#line 15752 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( 1)))
                return NULL;
              return gen_split_324 (insn, operands);

            default:
              return NULL;
            }

        case 63:
          switch (pattern337 (x1))
            {
            case 0:
              if (!(
#line 15748 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (flag_fp_int_builtin_inexact || !flag_trapping_math)
   && can_create_pseudo_p ()) && 
#line 15752 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( 1)))
                return NULL;
              return gen_split_319 (insn, operands);

            case 1:
              if (!(
#line 15748 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (flag_fp_int_builtin_inexact || !flag_trapping_math)
   && can_create_pseudo_p ()) && 
#line 15752 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( 1)))
                return NULL;
              return gen_split_322 (insn, operands);

            case 2:
              if (!(
#line 15748 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && (flag_fp_int_builtin_inexact || !flag_trapping_math)
   && can_create_pseudo_p ()) && 
#line 15752 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( 1)))
                return NULL;
              return gen_split_325 (insn, operands);

            default:
              return NULL;
            }

        case 64:
          if (GET_MODE (x4) != XFmode)
            return NULL;
          x5 = XVECEXP (x1, 0, 1);
          if (pattern115 (x5, CCmode, 17) != 0
              || !register_operand (operands[0], XFmode))
            return NULL;
          x6 = XVECEXP (x4, 0, 0);
          operands[1] = x6;
          if (!register_operand (operands[1], XFmode)
              || !(
#line 15842 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && can_create_pseudo_p ()) && 
#line 15846 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( 1)))
            return NULL;
          return gen_split_326 (insn, operands);

        case 65:
          switch (pattern338 (x1))
            {
            case 0:
              if (!(
#line 15907 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && can_create_pseudo_p ()) && 
#line 15911 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( 1)))
                return NULL;
              return gen_split_327 (insn, operands);

            case 1:
              if (!(
#line 15907 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && can_create_pseudo_p ()) && 
#line 15911 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( 1)))
                return NULL;
              return gen_split_329 (insn, operands);

            case 2:
              if (!(
#line 15907 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && can_create_pseudo_p ()) && 
#line 15911 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( 1)))
                return NULL;
              return gen_split_331 (insn, operands);

            default:
              return NULL;
            }

        case 66:
          switch (pattern338 (x1))
            {
            case 0:
              if (!(
#line 15907 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && can_create_pseudo_p ()) && 
#line 15911 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( 1)))
                return NULL;
              return gen_split_328 (insn, operands);

            case 1:
              if (!(
#line 15907 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && can_create_pseudo_p ()) && 
#line 15911 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( 1)))
                return NULL;
              return gen_split_330 (insn, operands);

            case 2:
              if (!(
#line 15907 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && flag_unsafe_math_optimizations
   && can_create_pseudo_p ()) && 
#line 15911 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( 1)))
                return NULL;
              return gen_split_332 (insn, operands);

            default:
              return NULL;
            }

        default:
          return NULL;
        }

    default:
      return NULL;
    }
}

static rtx_insn *
split_7 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
    case MEM:
      operands[1] = x4;
      x5 = XEXP (x2, 0);
      if (GET_CODE (x5) != REG
          || REGNO (x5) != 17)
        return NULL;
      x6 = XEXP (x3, 1);
      switch (GET_CODE (x6))
        {
        case CONST_INT:
        case CONST_DOUBLE:
        case CONST_VECTOR:
          operands[2] = x6;
          res = split_1 (x1, insn);
          if (res != NULL_RTX)
            return res;
          if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return NULL;
          x7 = XVECEXP (x1, 0, 1);
          if (GET_CODE (x7) != SET)
            return NULL;
          x8 = XEXP (x7, 1);
          if (GET_CODE (x8) != CTZ
              || GET_MODE (x5) != CCCmode
              || GET_MODE (x3) != CCCmode)
            return NULL;
          x9 = XEXP (x7, 0);
          operands[0] = x9;
          x10 = XEXP (x8, 0);
          if (!rtx_equal_p (x10, operands[1]))
            return NULL;
          switch (pattern747 (x8))
            {
            case 0:
              if (!(
#line 12682 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI) && 
#line 12684 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
   && optimize_function_for_speed_p (cfun)
   && !reg_mentioned_p (operands[0], operands[1]))))
                return NULL;
              return gen_split_284 (insn, operands);

            case 1:
              if (!((
#line 12682 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)) && 
#line 12684 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
   && optimize_function_for_speed_p (cfun)
   && !reg_mentioned_p (operands[0], operands[1]))))
                return NULL;
              return gen_split_285 (insn, operands);

            default:
              return NULL;
            }

        case REG:
        case SUBREG:
        case MEM:
          switch (pattern458 (x1))
            {
            case 0:
              if (!(
#line 1529 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && TARGET_SAHF && !TARGET_CMOVE) && 
#line 1531 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
                return NULL;
              return gen_split_4 (insn, operands);

            case 1:
              if (!(
#line 1562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && TARGET_SAHF && !TARGET_CMOVE) && 
#line 1564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
                return NULL;
              return gen_split_5 (insn, operands);

            case 2:
              if (!(
#line 1562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && TARGET_SAHF && !TARGET_CMOVE) && 
#line 1564 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
                return NULL;
              return gen_split_6 (insn, operands);

            case 3:
              if (!(
#line 1595 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && TARGET_SAHF && !TARGET_CMOVE) && 
#line 1597 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
                return NULL;
              return gen_split_7 (insn, operands);

            case 4:
              if (!(
#line 1595 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && TARGET_SAHF && !TARGET_CMOVE) && 
#line 1597 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
                return NULL;
              return gen_split_8 (insn, operands);

            case 5:
              if (!(
#line 1595 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && TARGET_SAHF && !TARGET_CMOVE) && 
#line 1597 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
                return NULL;
              return gen_split_9 (insn, operands);

            default:
              return NULL;
            }

        case FLOAT:
          switch (pattern437 (x1))
            {
            case 0:
              if (!(
#line 1633 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && TARGET_SAHF && !TARGET_CMOVE
   && (TARGET_USE_HIMODE_FIOP
       || optimize_function_for_size_p (cfun))) && 
#line 1637 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
                return NULL;
              return gen_split_10 (insn, operands);

            case 1:
              if (!(
#line 1633 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && TARGET_SAHF && !TARGET_CMOVE
   && (TARGET_USE_SIMODE_FIOP
       || optimize_function_for_size_p (cfun))) && 
#line 1637 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
                return NULL;
              return gen_split_13 (insn, operands);

            case 2:
              if (!(
#line 1633 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && TARGET_SAHF && !TARGET_CMOVE
   && (TARGET_USE_HIMODE_FIOP
       || optimize_function_for_size_p (cfun))) && 
#line 1637 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
                return NULL;
              return gen_split_11 (insn, operands);

            case 3:
              if (!(
#line 1633 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && TARGET_SAHF && !TARGET_CMOVE
   && (TARGET_USE_SIMODE_FIOP
       || optimize_function_for_size_p (cfun))) && 
#line 1637 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
                return NULL;
              return gen_split_14 (insn, operands);

            case 4:
              if (!(
#line 1633 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && TARGET_SAHF && !TARGET_CMOVE
   && (TARGET_USE_HIMODE_FIOP
       || optimize_function_for_size_p (cfun))) && 
#line 1637 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
                return NULL;
              return gen_split_12 (insn, operands);

            case 5:
              if (!(
#line 1633 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && TARGET_SAHF && !TARGET_CMOVE
   && (TARGET_USE_SIMODE_FIOP
       || optimize_function_for_size_p (cfun))) && 
#line 1637 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
                return NULL;
              return gen_split_15 (insn, operands);

            default:
              return NULL;
            }

        default:
          return NULL;
        }

    case NOT:
      x6 = XEXP (x3, 1);
      if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return NULL;
      x7 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x7) != SET)
        return NULL;
      x5 = XEXP (x2, 0);
      operands[0] = x5;
      if (!flags_reg_operand (operands[0], VOIDmode))
        return NULL;
      operands[2] = x3;
      if (!compare_operator (operands[2], VOIDmode))
        return NULL;
      x11 = XEXP (x4, 0);
      operands[3] = x11;
      x9 = XEXP (x7, 0);
      operands[1] = x9;
      x8 = XEXP (x7, 1);
      switch (GET_CODE (x8))
        {
        case NOT:
          x10 = XEXP (x8, 0);
          if (!rtx_equal_p (x10, operands[3]))
            return NULL;
          switch (GET_MODE (x4))
            {
            case QImode:
              if (!nonimmediate_operand (operands[3], QImode)
                  || !nonimmediate_operand (operands[1], QImode)
                  || GET_MODE (x8) != QImode
                  || !
#line 9460 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)))
                return NULL;
              return gen_split_208 (insn, operands);

            case HImode:
              if (!nonimmediate_operand (operands[3], HImode)
                  || !nonimmediate_operand (operands[1], HImode)
                  || GET_MODE (x8) != HImode
                  || !
#line 9460 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)))
                return NULL;
              return gen_split_209 (insn, operands);

            case SImode:
              if (!nonimmediate_operand (operands[3], SImode)
                  || !nonimmediate_operand (operands[1], SImode)
                  || GET_MODE (x8) != SImode
                  || !
#line 9460 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)))
                return NULL;
              return gen_split_210 (insn, operands);

            case DImode:
              if (!nonimmediate_operand (operands[3], DImode)
                  || !nonimmediate_operand (operands[1], DImode)
                  || GET_MODE (x8) != DImode
                  || !(
#line 9460 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return NULL;
              return gen_split_211 (insn, operands);

            default:
              return NULL;
            }

        case ZERO_EXTEND:
          if (pattern575 (x1, NOT) != 0
              || !register_operand (operands[3], SImode)
              || !register_operand (operands[1], DImode))
            return NULL;
          x10 = XEXP (x8, 0);
          x12 = XEXP (x10, 0);
          if (!rtx_equal_p (x12, operands[3])
              || !
#line 9487 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)))
            return NULL;
          return gen_split_212 (insn, operands);

        default:
          return NULL;
        }

    case AND:
      x6 = XEXP (x3, 1);
      if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return NULL;
      x7 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x7) != SET)
        return NULL;
      x8 = XEXP (x7, 1);
      if (GET_CODE (x8) != AND)
        return NULL;
      x5 = XEXP (x2, 0);
      operands[0] = x5;
      if (!flags_reg_operand (operands[0], VOIDmode))
        return NULL;
      operands[2] = x3;
      if (!compare_operator (operands[2], VOIDmode))
        return NULL;
      x11 = XEXP (x4, 0);
      operands[3] = x11;
      if (!aligned_operand (operands[3], VOIDmode))
        return NULL;
      x13 = XEXP (x4, 1);
      operands[4] = x13;
      if (!const_int_operand (operands[4], VOIDmode))
        return NULL;
      x9 = XEXP (x7, 0);
      operands[1] = x9;
      if (!register_operand (operands[1], VOIDmode))
        return NULL;
      x10 = XEXP (x8, 0);
      if (!rtx_equal_p (x10, operands[3]))
        return NULL;
      x14 = XEXP (x8, 1);
      if (!rtx_equal_p (x14, operands[4])
          || !
#line 17664 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 NULL;
      return gen_split_356 (insn, operands);

    default:
      return NULL;
    }
}

static rtx_insn *
split_8 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (pattern114 (x1) != 0)
    return NULL;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  switch (GET_CODE (x3))
    {
    case PLUS:
      res = split_2 (x1, insn);
      if (res != NULL_RTX)
        return res;
      break;

    case MINUS:
      x4 = XEXP (x3, 0);
      operands[1] = x4;
      x5 = XEXP (x3, 1);
      operands[2] = x5;
      switch (GET_MODE (operands[0]))
        {
        case DImode:
          if (pattern639 (x3, DImode) == 0
              && (
#line 6477 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed) && 
#line 1041 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT)))
            return gen_split_134 (insn, operands);
          break;

        case TImode:
          if (pattern639 (x3, TImode) == 0
              && (
#line 6477 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed) && 
#line 1042 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return gen_split_135 (insn, operands);
          break;

        default:
          break;
        }
      break;

    case MULT:
      res = split_3 (x1, insn);
      if (res != NULL_RTX)
        return res;
      break;

    case AND:
      res = split_4 (x1, insn);
      if (res != NULL_RTX)
        return res;
      break;

    case IOR:
      switch (pattern507 (x3))
        {
        case 0:
          if (nonimmediate_operand (operands[0], DImode)
              && nonimmediate_operand (operands[1], DImode)
              && x86_64_szext_general_operand (operands[2], DImode)
              && (
#line 8686 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_STV && TARGET_SSE2
   && ix86_binary_operator_ok (IOR, DImode, operands)) && 
#line 8689 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
            return gen_split_180 (insn, operands);
          if (const_int_operand (operands[2], DImode))
            {
              if (QIreg_operand (operands[0], DImode)
                  && register_operand (operands[1], DImode)
                  && (
#line 8908 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed
    && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
    && !(INTVAL (operands[2]) & ~(255 << 8))) && 
#line 986 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return gen_split_186 (insn, operands);
              if (any_QIreg_operand (operands[0], DImode)
                  && general_operand (operands[1], DImode)
                  && (
#line 8936 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed
    && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
    && !(INTVAL (operands[2]) & ~255)
    && (INTVAL (operands[2]) & 128)) && 
#line 986 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return gen_split_192 (insn, operands);
            }
          break;

        case 1:
          if (QIreg_operand (operands[0], HImode)
              && register_operand (operands[1], HImode)
              && 
#line 8908 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed
    && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
    && !(INTVAL (operands[2]) & ~(255 << 8))))
            return gen_split_182 (insn, operands);
          if (any_QIreg_operand (operands[0], HImode)
              && general_operand (operands[1], HImode)
              && 
#line 8936 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed
    && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
    && !(INTVAL (operands[2]) & ~255)
    && (INTVAL (operands[2]) & 128)))
            return gen_split_188 (insn, operands);
          break;

        case 2:
          if (QIreg_operand (operands[0], SImode)
              && register_operand (operands[1], SImode)
              && 
#line 8908 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed
    && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
    && !(INTVAL (operands[2]) & ~(255 << 8))))
            return gen_split_184 (insn, operands);
          if (any_QIreg_operand (operands[0], SImode)
              && general_operand (operands[1], SImode)
              && 
#line 8936 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed
    && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
    && !(INTVAL (operands[2]) & ~255)
    && (INTVAL (operands[2]) & 128)))
            return gen_split_190 (insn, operands);
          break;

        default:
          break;
        }
      break;

    case XOR:
      switch (pattern507 (x3))
        {
        case 0:
          if (nonimmediate_operand (operands[0], DImode)
              && nonimmediate_operand (operands[1], DImode)
              && x86_64_szext_general_operand (operands[2], DImode)
              && (
#line 8686 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_STV && TARGET_SSE2
   && ix86_binary_operator_ok (XOR, DImode, operands)) && 
#line 8689 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
            return gen_split_181 (insn, operands);
          if (const_int_operand (operands[2], DImode))
            {
              if (QIreg_operand (operands[0], DImode)
                  && register_operand (operands[1], DImode)
                  && (
#line 8908 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed
    && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
    && !(INTVAL (operands[2]) & ~(255 << 8))) && 
#line 986 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return gen_split_187 (insn, operands);
              if (any_QIreg_operand (operands[0], DImode)
                  && general_operand (operands[1], DImode)
                  && (
#line 8936 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed
    && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
    && !(INTVAL (operands[2]) & ~255)
    && (INTVAL (operands[2]) & 128)) && 
#line 986 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return gen_split_193 (insn, operands);
            }
          break;

        case 1:
          if (QIreg_operand (operands[0], HImode)
              && register_operand (operands[1], HImode)
              && 
#line 8908 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed
    && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
    && !(INTVAL (operands[2]) & ~(255 << 8))))
            return gen_split_183 (insn, operands);
          if (any_QIreg_operand (operands[0], HImode)
              && general_operand (operands[1], HImode)
              && 
#line 8936 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed
    && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
    && !(INTVAL (operands[2]) & ~255)
    && (INTVAL (operands[2]) & 128)))
            return gen_split_189 (insn, operands);
          break;

        case 2:
          if (QIreg_operand (operands[0], SImode)
              && register_operand (operands[1], SImode)
              && 
#line 8908 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed
    && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
    && !(INTVAL (operands[2]) & ~(255 << 8))))
            return gen_split_185 (insn, operands);
          if (any_QIreg_operand (operands[0], SImode)
              && general_operand (operands[1], SImode)
              && 
#line 8936 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed
    && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
    && !(INTVAL (operands[2]) & ~255)
    && (INTVAL (operands[2]) & 128)))
            return gen_split_191 (insn, operands);
          break;

        default:
          break;
        }
      break;

    case ASHIFT:
      res = split_5 (x1, insn);
      if (res != NULL_RTX)
        return res;
      break;

    default:
      break;
    }
  if (!general_reg_operand (operands[0], VOIDmode))
    return NULL;
  operands[3] = x3;
  if (!promotable_binary_operator (operands[3], VOIDmode))
    return NULL;
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  if (!general_reg_operand (operands[1], VOIDmode))
    return NULL;
  x5 = XEXP (x3, 1);
  operands[2] = x5;
  if (!aligned_operand (operands[2], VOIDmode)
      || !
#line 17632 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 NULL;
  return gen_split_355 (insn, operands);
}

static rtx_insn *
split_9 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  if (GET_CODE (x2) != SET)
    return NULL;
  x3 = XEXP (x2, 1);
  switch (GET_CODE (x3))
    {
    case COMPARE:
      return split_7 (x1, insn);

    case ZERO_EXTEND:
      if (pattern114 (x1) != 0)
        return NULL;
      x4 = XEXP (x3, 0);
      switch (GET_CODE (x4))
        {
        case REG:
        case SUBREG:
        case MEM:
          switch (pattern499 (x3))
            {
            case 0:
              if (!(
#line 3886 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)) && 
#line 3888 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
                return NULL;
              return gen_split_44 (insn, operands);

            case 1:
              if (!(
#line 3886 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)) && 
#line 3888 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
                return NULL;
              return gen_split_45 (insn, operands);

            case 2:
              if (!(
#line 3937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)) && 
#line 3939 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
                return NULL;
              return gen_split_46 (insn, operands);

            default:
              return NULL;
            }

        case PLUS:
          if (GET_MODE (x4) != SImode
              || !register_operand (operands[0], DImode)
              || GET_MODE (x3) != DImode)
            return NULL;
          x5 = XEXP (x4, 0);
          operands[1] = x5;
          if (!register_operand (operands[1], SImode))
            return NULL;
          x6 = XEXP (x4, 1);
          operands[2] = x6;
          if (!x86_64_nonmemory_operand (operands[2], SImode))
            return NULL;
          if (
#line 5810 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT
   && reload_completed && ix86_avoid_lea_for_add (insn, operands)))
            return gen_split_110 (insn, operands);
          if (!
#line 5843 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && reload_completed && ix86_lea_for_add_ok (insn, operands)))
            return NULL;
          return gen_split_115 (insn, operands);

        case ASHIFT:
          if (GET_MODE (x4) != SImode
              || !register_operand (operands[0], DImode)
              || GET_MODE (x3) != DImode)
            return NULL;
          x5 = XEXP (x4, 0);
          operands[1] = x5;
          x6 = XEXP (x4, 1);
          operands[2] = x6;
          switch (GET_CODE (operands[2]))
            {
            case REG:
            case SUBREG:
              if (!register_operand (operands[2], QImode)
                  || !nonimmediate_operand (operands[1], SImode)
                  || !
#line 9795 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_BMI2 && reload_completed))
                return NULL;
              return gen_split_219 (insn, operands);

            case CONST_INT:
              if (!const_0_to_3_operand (operands[2], VOIDmode)
                  || !index_register_operand (operands[1], SImode)
                  || !
#line 9975 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && reload_completed
   && REGNO (operands[0]) != REGNO (operands[1])))
                return NULL;
              return gen_split_224 (insn, operands);

            default:
              return NULL;
            }

        case LSHIFTRT:
          if (pattern505 (x3) != 0
              || !
#line 10405 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_BMI2 && reload_completed))
            return NULL;
          return gen_split_237 (insn, operands);

        case ASHIFTRT:
          if (pattern505 (x3) != 0
              || !
#line 10405 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_BMI2 && reload_completed))
            return NULL;
          return gen_split_238 (insn, operands);

        case ROTATE:
          if (pattern506 (x3) != 0
              || !
#line 10801 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_BMI2 && reload_completed))
            return NULL;
          return gen_split_251 (insn, operands);

        case ROTATERT:
          if (pattern506 (x3) != 0
              || !
#line 10816 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && TARGET_BMI2 && reload_completed))
            return NULL;
          return gen_split_252 (insn, operands);

        default:
          return NULL;
        }

    case FLOAT_TRUNCATE:
      x7 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x7) != CLOBBER)
        return NULL;
      x8 = XEXP (x2, 0);
      operands[0] = x8;
      x4 = XEXP (x3, 0);
      operands[1] = x4;
      x9 = XEXP (x7, 0);
      operands[2] = x9;
      switch (GET_MODE (operands[0]))
        {
        case SFmode:
          if (GET_MODE (x3) != SFmode)
            return NULL;
          if (register_operand (operands[0], SFmode))
            {
              switch (GET_MODE (operands[1]))
                {
                case DFmode:
                  if (fp_register_operand (operands[1], DFmode)
                      && 
#line 4610 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
                    return gen_split_62 (insn, operands);
                  break;

                case XFmode:
                  if (register_operand (operands[1], XFmode)
                      && memory_operand (operands[2], SFmode)
                      && 
#line 4688 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && reload_completed))
                    return gen_split_63 (insn, operands);
                  break;

                default:
                  break;
                }
            }
          if (!memory_operand (operands[0], SFmode)
              || !register_operand (operands[1], XFmode)
              || !memory_operand (operands[2], SFmode)
              || !
#line 4697 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387))
            return NULL;
          return gen_split_65 (insn, operands);

        case DFmode:
          if (GET_MODE (x3) != DFmode
              || !register_operand (operands[1], XFmode)
              || !memory_operand (operands[2], DFmode))
            return NULL;
          if (register_operand (operands[0], DFmode)
              && 
#line 4688 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && reload_completed))
            return gen_split_64 (insn, operands);
          if (!memory_operand (operands[0], DFmode)
              || !
#line 4697 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387))
            return NULL;
          return gen_split_66 (insn, operands);

        default:
          return NULL;
        }

    case FIX:
      x7 = XVECEXP (x1, 0, 1);
      if (pattern135 (x7) != 0)
        return NULL;
      x8 = XEXP (x2, 0);
      operands[0] = x8;
      x4 = XEXP (x3, 0);
      operands[1] = x4;
      if (!register_operand (operands[1], VOIDmode))
        return NULL;
      switch (pattern261 (x3))
        {
        case 0:
          if (!(
#line 4957 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 4963 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( 1)))
            return NULL;
          return gen_split_78 (insn, operands);

        case 1:
          if (!(
#line 4957 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 4963 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( 1)))
            return NULL;
          return gen_split_79 (insn, operands);

        case 2:
          if (!(
#line 4957 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 4963 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( 1)))
            return NULL;
          return gen_split_80 (insn, operands);

        default:
          return NULL;
        }

    case NEG:
    case ABS:
      x8 = XEXP (x2, 0);
      operands[0] = x8;
      x4 = XEXP (x3, 0);
      operands[1] = x4;
      if (GET_CODE (x3) == NEG)
        {
          x7 = XVECEXP (x1, 0, 1);
          if (pattern115 (x7, CCmode, 17) == 0)
            {
              switch (GET_MODE (operands[0]))
                {
                case DImode:
                  if (nonimmediate_operand (operands[0], DImode)
                      && GET_MODE (x3) == DImode
                      && nonimmediate_operand (operands[1], DImode)
                      && (
#line 9014 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed) && 
#line 1041 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT)))
                    return gen_split_194 (insn, operands);
                  break;

                case TImode:
                  if (nonimmediate_operand (operands[0], TImode)
                      && GET_MODE (x3) == TImode
                      && nonimmediate_operand (operands[1], TImode)
                      && (
#line 9014 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed) && 
#line 1042 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                    return gen_split_195 (insn, operands);
                  break;

                default:
                  break;
                }
              if (register_operand (operands[0], VOIDmode)
                  && register_operand (operands[1], VOIDmode)
                  && 
#line 17712 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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_358 (insn, operands);
            }
        }
      x7 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x7) != USE)
        return NULL;
      operands[3] = x3;
      x9 = XEXP (x7, 0);
      operands[2] = x9;
      switch (GET_MODE (operands[0]))
        {
        case V16SFmode:
          if (pattern503 (V16SFmode) != 0
              || !((
#line 1515 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)) && 
#line 1517 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
( reload_completed)))
            return NULL;
          return gen_split_373 (insn, operands);

        case V8SFmode:
          if (pattern503 (V8SFmode) != 0
              || !((
#line 1515 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 225 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)) && 
#line 1517 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
( reload_completed)))
            return NULL;
          return gen_split_374 (insn, operands);

        case V4SFmode:
          if (pattern503 (V4SFmode) != 0
              || !(
#line 1515 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 1517 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
( reload_completed)))
            return NULL;
          return gen_split_375 (insn, operands);

        case V8DFmode:
          if (pattern503 (V8DFmode) != 0
              || !((
#line 1515 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F)) && 
#line 1517 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
( reload_completed)))
            return NULL;
          return gen_split_376 (insn, operands);

        case V4DFmode:
          if (pattern503 (V4DFmode) != 0
              || !((
#line 1515 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)) && 
#line 1517 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
( reload_completed)))
            return NULL;
          return gen_split_377 (insn, operands);

        case V2DFmode:
          if (pattern503 (V2DFmode) != 0
              || !((
#line 1515 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 226 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)) && 
#line 1517 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
( reload_completed)))
            return NULL;
          return gen_split_378 (insn, operands);

        default:
          return NULL;
        }

    case UNSPEC:
      return split_6 (x1, insn);

    case LSHIFTRT:
      if (pattern121 (x1) != 0)
        return NULL;
      x10 = XEXP (x3, 1);
      if (GET_CODE (x10) == SUBREG)
        {
          switch (pattern552 (x3))
            {
            case 0:
              if ((
#line 10148 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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
   && can_create_pseudo_p ()) && 
#line 10153 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( 1)))
                return gen_split_225 (insn, operands);
              break;

            case 1:
              if (((
#line 10148 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
   && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
      == GET_MODE_BITSIZE (DImode)-1
   && can_create_pseudo_p ()) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)) && 
#line 10153 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( 1)))
                return gen_split_227 (insn, operands);
              break;

            default:
              break;
            }
        }
      if (nonimmediate_operand (operands[1], SImode)
          && register_operand (operands[0], SImode)
          && GET_MODE (x3) == SImode)
        {
          operands[2] = x10;
          if (register_operand (operands[2], QImode)
              && 
#line 10351 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI2 && reload_completed))
            return gen_split_233 (insn, operands);
        }
      operands[2] = x10;
      switch (GET_MODE (operands[0]))
        {
        case DImode:
          if (!register_operand (operands[0], DImode)
              || GET_MODE (x3) != DImode)
            return NULL;
          if (register_operand (operands[1], DImode)
              && nonmemory_operand (operands[2], QImode)
              && (
#line 10169 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((optimize && flag_peephole2) ? epilogue_completed : reload_completed) && 
#line 1016 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT)))
            return gen_split_229 (insn, operands);
          if (!nonimmediate_operand (operands[1], DImode)
              || !register_operand (operands[2], QImode)
              || !(
#line 10351 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI2 && reload_completed) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return NULL;
          return gen_split_235 (insn, operands);

        case TImode:
          if (pattern586 (x3) != 0
              || !(
#line 10169 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((optimize && flag_peephole2) ? epilogue_completed : reload_completed) && 
#line 1017 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return NULL;
          return gen_split_231 (insn, operands);

        default:
          return NULL;
        }

    case ASHIFTRT:
      if (pattern121 (x1) != 0)
        return NULL;
      x10 = XEXP (x3, 1);
      if (GET_CODE (x10) == SUBREG)
        {
          switch (pattern552 (x3))
            {
            case 0:
              if ((
#line 10148 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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
   && can_create_pseudo_p ()) && 
#line 10153 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( 1)))
                return gen_split_226 (insn, operands);
              break;

            case 1:
              if (((
#line 10148 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ASHIFTRT, DImode, operands)
   && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
      == GET_MODE_BITSIZE (DImode)-1
   && can_create_pseudo_p ()) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)) && 
#line 10153 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( 1)))
                return gen_split_228 (insn, operands);
              break;

            default:
              break;
            }
        }
      if (nonimmediate_operand (operands[1], SImode)
          && register_operand (operands[0], SImode)
          && GET_MODE (x3) == SImode)
        {
          operands[2] = x10;
          if (register_operand (operands[2], QImode)
              && 
#line 10351 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI2 && reload_completed))
            return gen_split_234 (insn, operands);
        }
      operands[2] = x10;
      switch (GET_MODE (operands[0]))
        {
        case DImode:
          if (!register_operand (operands[0], DImode)
              || GET_MODE (x3) != DImode)
            return NULL;
          if (register_operand (operands[1], DImode)
              && nonmemory_operand (operands[2], QImode)
              && (
#line 10169 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((optimize && flag_peephole2) ? epilogue_completed : reload_completed) && 
#line 1016 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT)))
            return gen_split_230 (insn, operands);
          if (!nonimmediate_operand (operands[1], DImode)
              || !register_operand (operands[2], QImode)
              || !(
#line 10351 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI2 && reload_completed) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return NULL;
          return gen_split_236 (insn, operands);

        case TImode:
          if (pattern586 (x3) != 0
              || !(
#line 10169 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((optimize && flag_peephole2) ? epilogue_completed : reload_completed) && 
#line 1017 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return NULL;
          return gen_split_232 (insn, operands);

        default:
          return NULL;
        }

    case ROTATE:
      switch (pattern138 (x1))
        {
        case 0:
          if (!(
#line 10608 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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
   && can_create_pseudo_p ()) && 
#line 10613 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( 1)))
            return NULL;
          return gen_split_239 (insn, operands);

        case 1:
          if (!((
#line 10608 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ROTATE, DImode, operands)
   && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
      == GET_MODE_BITSIZE (DImode)-1
   && can_create_pseudo_p ()) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)) && 
#line 10613 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( 1)))
            return NULL;
          return gen_split_241 (insn, operands);

        case 2:
          x10 = XEXP (x3, 1);
          operands[2] = x10;
          switch (pattern556 (x3))
            {
            case 0:
              if (
#line 10733 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI2 && reload_completed))
                return gen_split_247 (insn, operands);
              break;

            case 1:
              if ((
#line 10733 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI2 && reload_completed) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return gen_split_248 (insn, operands);
              break;

            default:
              break;
            }
          if (XWINT (x10, 0) != 8LL
              || !register_operand (operands[0], HImode)
              || GET_MODE (x3) != HImode)
            return NULL;
          x4 = XEXP (x3, 0);
          if (!rtx_equal_p (x4, operands[0])
              || !
#line 10873 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed
  && (TARGET_USE_XCHGB || optimize_function_for_size_p (cfun))))
            return NULL;
          return gen_split_253 (insn, operands);

        default:
          return NULL;
        }

    case ROTATERT:
      switch (pattern138 (x1))
        {
        case 0:
          if (!(
#line 10608 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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
   && can_create_pseudo_p ()) && 
#line 10613 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( 1)))
            return NULL;
          return gen_split_240 (insn, operands);

        case 1:
          if (!((
#line 10608 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_binary_operator_ok (ROTATERT, DImode, operands)
   && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
      == GET_MODE_BITSIZE (DImode)-1
   && can_create_pseudo_p ()) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)) && 
#line 10613 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( 1)))
            return NULL;
          return gen_split_242 (insn, operands);

        case 2:
          x10 = XEXP (x3, 1);
          operands[2] = x10;
          switch (pattern556 (x3))
            {
            case 0:
              if (
#line 10747 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI2 && reload_completed))
                return gen_split_249 (insn, operands);
              break;

            case 1:
              if ((
#line 10747 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_BMI2 && reload_completed) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return gen_split_250 (insn, operands);
              break;

            default:
              break;
            }
          if (XWINT (x10, 0) != 8LL
              || !register_operand (operands[0], HImode)
              || GET_MODE (x3) != HImode)
            return NULL;
          x4 = XEXP (x3, 0);
          if (!rtx_equal_p (x4, operands[0])
              || !
#line 10873 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed
  && (TARGET_USE_XCHGB || optimize_function_for_size_p (cfun))))
            return NULL;
          return gen_split_254 (insn, operands);

        default:
          return NULL;
        }

    case IF_THEN_ELSE:
      x4 = XEXP (x3, 0);
      if (!bt_comparison_operator (x4, VOIDmode))
        return NULL;
      operands[0] = x4;
      switch (pattern283 (x1))
        {
        case 0:
          if (!(
#line 11050 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((TARGET_USE_BT || optimize_function_for_size_p (cfun))
   && (CONST_INT_P (operands[2])
       ? (INTVAL (operands[2]) < GET_MODE_BITSIZE (SImode)
	  && INTVAL (operands[2])
	       >= (optimize_function_for_size_p (cfun) ? 8 : 32))
       : register_operand (operands[2], SImode))
   && can_create_pseudo_p ()) && 
#line 11058 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( 1)))
            return NULL;
          return gen_split_255 (insn, operands);

        case 1:
          if (!((
#line 11050 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((TARGET_USE_BT || optimize_function_for_size_p (cfun))
   && (CONST_INT_P (operands[2])
       ? (INTVAL (operands[2]) < GET_MODE_BITSIZE (DImode)
	  && INTVAL (operands[2])
	       >= (optimize_function_for_size_p (cfun) ? 8 : 32))
       : register_operand (operands[2], SImode))
   && can_create_pseudo_p ()) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)) && 
#line 11058 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( 1)))
            return NULL;
          return gen_split_256 (insn, operands);

        case 2:
          if (!(
#line 11087 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((TARGET_USE_BT || optimize_function_for_size_p (cfun))
   && can_create_pseudo_p ()) && 
#line 11090 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( 1)))
            return NULL;
          return gen_split_257 (insn, operands);

        case 3:
          if (!((
#line 11087 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((TARGET_USE_BT || optimize_function_for_size_p (cfun))
   && can_create_pseudo_p ()) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)) && 
#line 11090 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( 1)))
            return NULL;
          return gen_split_258 (insn, operands);

        case 4:
          if (!(
#line 11121 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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
   && can_create_pseudo_p ()) && 
#line 11126 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( 1)))
            return NULL;
          return gen_split_259 (insn, operands);

        case 5:
          if (!((
#line 11121 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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
   && can_create_pseudo_p ()) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)) && 
#line 11126 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( 1)))
            return NULL;
          return gen_split_260 (insn, operands);

        default:
          return NULL;
        }

    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:
      operands[1] = x3;
      if (pattern185 (x1) != 0
          || !(
#line 11168 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_PARTIAL_REG_STALL
   && TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)) && 
#line 11171 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
        return NULL;
      return gen_split_262 (insn, operands);

    case CTZ:
      switch (pattern139 (x1))
        {
        case 0:
          if (!
#line 12750 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((TARGET_BMI || TARGET_GENERIC)
   && TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
   && optimize_function_for_speed_p (cfun)
   && !reg_mentioned_p (operands[0], operands[1])))
            return NULL;
          return gen_split_286 (insn, operands);

        case 1:
          if (!(
#line 12750 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((TARGET_BMI || TARGET_GENERIC)
   && TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
   && optimize_function_for_speed_p (cfun)
   && !reg_mentioned_p (operands[0], operands[1])) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return NULL;
          return gen_split_287 (insn, operands);

        default:
          return NULL;
        }

    case CLZ:
      switch (pattern139 (x1))
        {
        case 0:
          if (!(
#line 12857 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_LZCNT) && 
#line 12859 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
   && optimize_function_for_speed_p (cfun)
   && !reg_mentioned_p (operands[0], operands[1]))))
            return NULL;
          return gen_split_288 (insn, operands);

        case 1:
          if (!((
#line 12857 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_LZCNT) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)) && 
#line 12859 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
   && optimize_function_for_speed_p (cfun)
   && !reg_mentioned_p (operands[0], operands[1]))))
            return NULL;
          return gen_split_289 (insn, operands);

        default:
          return NULL;
        }

    case POPCOUNT:
      x7 = XVECEXP (x1, 0, 1);
      if (pattern135 (x7) != 0)
        return NULL;
      x8 = XEXP (x2, 0);
      operands[0] = x8;
      x4 = XEXP (x3, 0);
      switch (GET_CODE (x4))
        {
        case REG:
        case SUBREG:
        case MEM:
          operands[1] = x4;
          switch (pattern116 (x3))
            {
            case 0:
              if (!(
#line 13252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_POPCNT) && 
#line 13260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
   && optimize_function_for_speed_p (cfun)
   && !reg_mentioned_p (operands[0], operands[1]))))
                return NULL;
              return gen_split_294 (insn, operands);

            case 1:
              if (!((
#line 13252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_POPCNT) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)) && 
#line 13260 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
   && optimize_function_for_speed_p (cfun)
   && !reg_mentioned_p (operands[0], operands[1]))))
                return NULL;
              return gen_split_295 (insn, operands);

            default:
              return NULL;
            }

        case ZERO_EXTEND:
          if (GET_MODE (x4) != SImode
              || !register_operand (operands[0], SImode)
              || GET_MODE (x3) != SImode)
            return NULL;
          x5 = XEXP (x4, 0);
          operands[1] = x5;
          if (!nonimmediate_operand (operands[1], HImode)
              || !(
#line 13300 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_POPCNT
   && can_create_pseudo_p ()) && 
#line 13303 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( 1)))
            return NULL;
          return gen_split_296 (insn, operands);

        default:
          return NULL;
        }

    case PLUS:
    case MINUS:
    case MULT:
    case AND:
    case IOR:
    case XOR:
    case ASHIFT:
      return split_8 (x1, insn);

    case SUBREG:
      if (XINT (x3, 1) != 0
          || GET_MODE (x3) != V4SImode)
        return NULL;
      x7 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x7) != CLOBBER)
        return NULL;
      x8 = XEXP (x2, 0);
      operands[0] = x8;
      if (!register_operand (operands[0], V4SImode))
        return NULL;
      x4 = XEXP (x3, 0);
      operands[1] = x4;
      if (!nonimmediate_operand (operands[1], DImode))
        return NULL;
      x9 = XEXP (x7, 0);
      operands[2] = x9;
      if (!scratch_operand (operands[2], V4SImode)
          || !(
#line 1120 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(!TARGET_64BIT && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES_TO_VEC) && 
#line 1122 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
( reload_completed)))
        return NULL;
      return gen_split_370 (insn, operands);

    default:
      return NULL;
    }
}

static rtx_insn *
split_10 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  if (GET_CODE (x2) != SET)
    return NULL;
  x3 = XEXP (x2, 1);
  switch (GET_CODE (x3))
    {
    case SIGN_EXTEND:
      if (GET_MODE (x3) != DImode)
        return NULL;
      x4 = XVECEXP (x1, 0, 1);
      if (pattern115 (x4, CCmode, 17) != 0)
        return NULL;
      x5 = XVECEXP (x1, 0, 2);
      if (GET_CODE (x5) != CLOBBER)
        return NULL;
      x6 = XEXP (x2, 0);
      operands[0] = x6;
      x7 = XEXP (x3, 0);
      operands[1] = x7;
      if (!register_operand (operands[1], SImode))
        return NULL;
      x8 = XEXP (x5, 0);
      operands[2] = x8;
      if (register_operand (operands[2], SImode)
          && memory_operand (operands[0], DImode)
          && 
#line 4051 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
        return gen_split_52 (insn, operands);
      if (!scratch_operand (operands[2], SImode)
          || !register_operand (operands[0], DImode)
          || !
#line 4119 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
        return NULL;
      return gen_split_53 (insn, operands);

    case FIX:
      x4 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x4) != CLOBBER)
        return NULL;
      x5 = XVECEXP (x1, 0, 2);
      if (GET_CODE (x5) != CLOBBER)
        return NULL;
      x6 = XEXP (x2, 0);
      operands[0] = x6;
      x7 = XEXP (x3, 0);
      operands[1] = x7;
      if (!register_operand (operands[1], VOIDmode))
        return NULL;
      x9 = XEXP (x4, 0);
      operands[2] = x9;
      x8 = XEXP (x5, 0);
      operands[3] = x8;
      if (!scratch_operand (operands[3], VOIDmode))
        return NULL;
      switch (GET_MODE (operands[0]))
        {
        case HImode:
          if (GET_MODE (x3) != HImode
              || !memory_operand (operands[2], HImode))
            return NULL;
          if (register_operand (operands[0], HImode)
              && 
#line 4934 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
            return gen_split_72 (insn, operands);
          if (!memory_operand (operands[0], HImode)
              || !
#line 4944 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
            return NULL;
          return gen_split_75 (insn, operands);

        case SImode:
          if (GET_MODE (x3) != SImode
              || !memory_operand (operands[2], SImode))
            return NULL;
          if (register_operand (operands[0], SImode)
              && 
#line 4934 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
            return gen_split_73 (insn, operands);
          if (!memory_operand (operands[0], SImode)
              || !
#line 4944 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
            return NULL;
          return gen_split_76 (insn, operands);

        case DImode:
          if (GET_MODE (x3) != DImode
              || !memory_operand (operands[2], DImode))
            return NULL;
          if (register_operand (operands[0], DImode)
              && 
#line 4934 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
            return gen_split_74 (insn, operands);
          if (!memory_operand (operands[0], DImode)
              || !
#line 4944 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
            return NULL;
          return gen_split_77 (insn, operands);

        default:
          return NULL;
        }

    case UNSIGNED_FLOAT:
      switch (pattern127 (x1))
        {
        case 0:
          if (!(
#line 5398 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT
   && TARGET_80387 && X87_ENABLE_FLOAT (SFmode, DImode)
   && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES_TO_VEC) && 
#line 5402 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
            return NULL;
          return gen_split_101 (insn, operands);

        case 1:
          if (!(
#line 5398 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT
   && TARGET_80387 && X87_ENABLE_FLOAT (DFmode, DImode)
   && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES_TO_VEC) && 
#line 5402 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
            return NULL;
          return gen_split_102 (insn, operands);

        case 2:
          if (!(
#line 5398 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT
   && TARGET_80387 && X87_ENABLE_FLOAT (XFmode, DImode)
   && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES_TO_VEC) && 
#line 5402 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
            return NULL;
          return gen_split_103 (insn, operands);

        default:
          return NULL;
        }

    case DIV:
      if (pattern141 (x1, MOD) != 0)
        return NULL;
      x6 = XEXP (x2, 0);
      operands[0] = x6;
      x7 = XEXP (x3, 0);
      operands[2] = x7;
      x10 = XEXP (x3, 1);
      operands[3] = x10;
      x4 = XVECEXP (x1, 0, 1);
      x9 = XEXP (x4, 0);
      operands[1] = x9;
      x11 = XEXP (x4, 1);
      x12 = XEXP (x11, 0);
      if (!rtx_equal_p (x12, operands[2]))
        return NULL;
      x13 = XEXP (x11, 1);
      if (!rtx_equal_p (x13, operands[3]))
        return NULL;
      switch (GET_MODE (operands[0]))
        {
        case SImode:
          if (pattern191 (x1, SImode) != 0)
            return NULL;
          if (
#line 7522 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_8BIT_IDIV
   && TARGET_QIMODE_MATH
   && can_create_pseudo_p ()
   && !optimize_insn_for_size_p ()))
            return gen_split_138 (insn, operands);
          if (!
#line 7573 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
            return NULL;
          return gen_split_143 (insn, operands);

        case DImode:
          if (pattern191 (x1, DImode) != 0)
            return NULL;
          if ((
#line 7522 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_8BIT_IDIV
   && TARGET_QIMODE_MATH
   && can_create_pseudo_p ()
   && !optimize_insn_for_size_p ()) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return gen_split_139 (insn, operands);
          if (!(
#line 7573 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed) && 
#line 1013 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return NULL;
          return gen_split_144 (insn, operands);

        case HImode:
          if (pattern191 (x1, HImode) != 0
              || !(
#line 7573 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed) && 
#line 1012 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_HIMODE_MATH)))
            return NULL;
          return gen_split_142 (insn, operands);

        default:
          return NULL;
        }

    case UDIV:
      if (pattern141 (x1, UMOD) != 0)
        return NULL;
      x6 = XEXP (x2, 0);
      operands[0] = x6;
      x7 = XEXP (x3, 0);
      operands[2] = x7;
      x10 = XEXP (x3, 1);
      operands[3] = x10;
      x4 = XVECEXP (x1, 0, 1);
      x9 = XEXP (x4, 0);
      operands[1] = x9;
      x11 = XEXP (x4, 1);
      x12 = XEXP (x11, 0);
      if (!rtx_equal_p (x12, operands[2]))
        return NULL;
      x13 = XEXP (x11, 1);
      if (!rtx_equal_p (x13, operands[3]))
        return NULL;
      switch (GET_CODE (operands[3]))
        {
        case REG:
        case SUBREG:
        case MEM:
          switch (GET_MODE (operands[0]))
            {
            case SImode:
              if (pattern191 (x1, SImode) != 0)
                return NULL;
              if (
#line 7695 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_8BIT_IDIV
   && TARGET_QIMODE_MATH
   && can_create_pseudo_p ()
   && !optimize_insn_for_size_p ()))
                return gen_split_145 (insn, operands);
              if (!
#line 7733 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
                return NULL;
              return gen_split_150 (insn, operands);

            case DImode:
              if (pattern191 (x1, DImode) != 0)
                return NULL;
              if ((
#line 7695 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_8BIT_IDIV
   && TARGET_QIMODE_MATH
   && can_create_pseudo_p ()
   && !optimize_insn_for_size_p ()) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return gen_split_146 (insn, operands);
              if (!(
#line 7733 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed) && 
#line 1013 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return NULL;
              return gen_split_151 (insn, operands);

            case HImode:
              if (pattern191 (x1, HImode) != 0
                  || !(
#line 7733 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed) && 
#line 1012 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_HIMODE_MATH)))
                return NULL;
              return gen_split_149 (insn, operands);

            default:
              return NULL;
            }

        case CONST_INT:
          switch (GET_MODE (operands[0]))
            {
            case SImode:
              if (pattern707 (x1, SImode) != 0
                  || !(
#line 7754 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(IN_RANGE (INTVAL (operands[3]), 2, HOST_WIDE_INT_UC (0x80000000))
   && (UINTVAL (operands[3]) & (UINTVAL (operands[3]) - 1)) == 0) && 
#line 7757 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( 1)))
                return NULL;
              return gen_split_152 (insn, operands);

            case DImode:
              if (pattern707 (x1, DImode) != 0
                  || !((
#line 7754 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(IN_RANGE (INTVAL (operands[3]), 2, HOST_WIDE_INT_UC (0x80000000))
   && (UINTVAL (operands[3]) & (UINTVAL (operands[3]) - 1)) == 0) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)) && 
#line 7757 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( 1)))
                return NULL;
              return gen_split_153 (insn, operands);

            default:
              return NULL;
            }

        default:
          return NULL;
        }

    case NEG:
    case ABS:
      if (pattern142 (x1, USE) != 0)
        return NULL;
      if (absneg_operator (x3, VOIDmode))
        {
          operands[1] = x3;
          if (fp_register_operand (operands[0], VOIDmode))
            {
              x4 = XVECEXP (x1, 0, 1);
              x9 = XEXP (x4, 0);
              operands[2] = x9;
              x7 = XEXP (x3, 0);
              if (rtx_equal_p (x7, operands[0])
                  && 
#line 9176 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
                return gen_split_196 (insn, operands);
            }
          operands[3] = x3;
          if (sse_reg_operand (operands[0], VOIDmode))
            {
              x7 = XEXP (x3, 0);
              operands[1] = x7;
              if (register_operand (operands[1], VOIDmode))
                {
                  x4 = XVECEXP (x1, 0, 1);
                  x9 = XEXP (x4, 0);
                  operands[2] = x9;
                  if (nonimmediate_operand (operands[2], VOIDmode)
                      && 
#line 9185 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
                    return gen_split_197 (insn, operands);
                }
            }
        }
      operands[1] = x3;
      if (absneg_operator (operands[1], SFmode)
          && general_reg_operand (operands[0], SFmode))
        {
          x4 = XVECEXP (x1, 0, 1);
          x9 = XEXP (x4, 0);
          operands[2] = x9;
          x7 = XEXP (x3, 0);
          if (rtx_equal_p (x7, operands[0])
              && 
#line 9208 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
            return gen_split_198 (insn, operands);
        }
      if (absneg_operator (operands[1], DFmode)
          && general_reg_operand (operands[0], DFmode))
        {
          x4 = XVECEXP (x1, 0, 1);
          x9 = XEXP (x4, 0);
          operands[2] = x9;
          x7 = XEXP (x3, 0);
          if (rtx_equal_p (x7, operands[0])
              && 
#line 9232 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
            return gen_split_199 (insn, operands);
        }
      if (!absneg_operator (operands[1], XFmode)
          || !general_reg_operand (operands[0], XFmode))
        return NULL;
      x4 = XVECEXP (x1, 0, 1);
      x9 = XEXP (x4, 0);
      operands[2] = x9;
      x7 = XEXP (x3, 0);
      if (!rtx_equal_p (x7, operands[0])
          || !
#line 9270 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
        return NULL;
      return gen_split_200 (insn, operands);

    case ROTATE:
      switch (pattern129 (x1))
        {
        case 0:
          if (!(
#line 10632 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed) && 
#line 1041 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT)))
            return NULL;
          return gen_split_243 (insn, operands);

        case 1:
          if (!(
#line 10632 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed) && 
#line 1042 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return NULL;
          return gen_split_244 (insn, operands);

        default:
          return NULL;
        }

    case ROTATERT:
      switch (pattern129 (x1))
        {
        case 0:
          if (!(
#line 10660 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed) && 
#line 1041 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT)))
            return NULL;
          return gen_split_245 (insn, operands);

        case 1:
          if (!(
#line 10660 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed) && 
#line 1042 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return NULL;
          return gen_split_246 (insn, operands);

        default:
          return NULL;
        }

    case IF_THEN_ELSE:
      x7 = XEXP (x3, 0);
      if (!ix86_fp_comparison_operator (x7, VOIDmode))
        return NULL;
      operands[0] = x7;
      x6 = XEXP (x2, 0);
      if (GET_CODE (x6) != PC)
        return NULL;
      x4 = XVECEXP (x1, 0, 1);
      if (pattern115 (x4, CCFPmode, 18) != 0)
        return NULL;
      x5 = XVECEXP (x1, 0, 2);
      if (pattern279 (x5, CCFPmode) != 0)
        return NULL;
      x14 = XEXP (x7, 0);
      operands[1] = x14;
      x15 = XEXP (x7, 1);
      operands[2] = x15;
      x10 = XEXP (x3, 1);
      operands[3] = x10;
      x16 = XEXP (x3, 2);
      operands[4] = x16;
      switch (GET_MODE (operands[1]))
        {
        case SFmode:
          if (!register_operand (operands[1], SFmode)
              || !nonimmediate_operand (operands[2], SFmode)
              || !
#line 11516 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE
   && reload_completed))
            return NULL;
          return gen_split_270 (insn, operands);

        case DFmode:
          if (!register_operand (operands[1], DFmode)
              || !nonimmediate_operand (operands[2], DFmode)
              || !
#line 11516 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE
   && reload_completed))
            return NULL;
          return gen_split_271 (insn, operands);

        case XFmode:
          if (!register_operand (operands[1], XFmode)
              || !nonimmediate_operand (operands[2], XFmode)
              || !
#line 11516 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE
   && reload_completed))
            return NULL;
          return gen_split_272 (insn, operands);

        default:
          return NULL;
        }

    case FFS:
      if (pattern131 (x1) != 0
          || !(
#line 12653 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_CMOVE) && 
#line 12655 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
        return NULL;
      return gen_split_283 (insn, operands);

    case UNSPEC:
      switch (XVECLEN (x3, 0))
        {
        case 1:
          x4 = XVECEXP (x1, 0, 1);
          if (GET_CODE (x4) != CLOBBER)
            return NULL;
          x5 = XVECEXP (x1, 0, 2);
          if (GET_CODE (x5) != CLOBBER)
            return NULL;
          switch (XINT (x3, 1))
            {
            case 28:
              if (pattern256 (x2) != 0)
                return NULL;
              x17 = XVECEXP (x3, 0, 0);
              operands[2] = x17;
              if (!register_operand (operands[2], SImode))
                return NULL;
              x9 = XEXP (x4, 0);
              operands[0] = x9;
              if (!scratch_operand (operands[0], SImode))
                return NULL;
              x8 = XEXP (x5, 0);
              operands[1] = x8;
              if (!scratch_operand (operands[1], HImode)
                  || !(
#line 13482 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(! TARGET_POPCNT) && 
#line 13484 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
                return NULL;
              return gen_split_298 (insn, operands);

            case 57:
              if (GET_MODE (x3) != DImode)
                return NULL;
              x6 = XEXP (x2, 0);
              operands[0] = x6;
              x17 = XVECEXP (x3, 0, 0);
              operands[1] = x17;
              if (!register_operand (operands[1], XFmode))
                return NULL;
              x9 = XEXP (x4, 0);
              operands[2] = x9;
              if (!memory_operand (operands[2], DImode))
                return NULL;
              x8 = XEXP (x5, 0);
              operands[3] = x8;
              if (!scratch_operand (operands[3], VOIDmode))
                return NULL;
              if (register_operand (operands[0], DImode)
                  && 
#line 15605 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
                return gen_split_309 (insn, operands);
              if (!memory_operand (operands[0], DImode)
                  || !
#line 15616 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
                return NULL;
              return gen_split_310 (insn, operands);

            case 209:
              if (GET_MODE (x3) != DImode
                  || pattern456 (x1) != 0
                  || !(
#line 183 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sync.md"
(!TARGET_64BIT && (TARGET_80387 || TARGET_SSE)) && 
#line 185 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sync.md"
( reload_completed)))
                return NULL;
              return gen_split_453 (insn, operands);

            case 210:
              if (GET_MODE (x3) != DImode
                  || pattern457 (x1) != 0
                  || !(
#line 300 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sync.md"
(!TARGET_64BIT && (TARGET_80387 || TARGET_SSE)) && 
#line 302 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sync.md"
( reload_completed)))
                return NULL;
              return gen_split_454 (insn, operands);

            default:
              return NULL;
            }

        case 5:
          if (XINT (x3, 1) != 122
              || GET_MODE (x3) != SImode
              || pattern328 (x1) != 0
              || !(
#line 15738 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_2
   && can_create_pseudo_p ()) && 
#line 15741 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
( 1)))
            return NULL;
          return gen_split_428 (insn, operands);

        case 3:
          if (XINT (x3, 1) != 123
              || GET_MODE (x3) != SImode
              || pattern330 (x1) != 0
              || !(
#line 15874 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_2
   && can_create_pseudo_p ()) && 
#line 15877 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
( 1)))
            return NULL;
          return gen_split_429 (insn, operands);

        default:
          return NULL;
        }

    default:
      return NULL;
    }
}

static rtx_insn *
split_11 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  switch (GET_MODE (operands[0]))
    {
    case DImode:
      if (push_operand (operands[0], DImode))
        {
          if (general_gr_operand (operands[1], DImode)
              && (
#line 1757 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed) && 
#line 1016 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT)))
            return gen_split_16 (insn, operands);
          if (immediate_operand (operands[1], DImode)
              && 
#line 1805 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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_18 (insn, operands);
        }
      if (!nonimmediate_gr_operand (operands[0], DImode)
          || !general_gr_operand (operands[1], DImode)
          || !(
#line 2312 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed) && 
#line 1016 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT)))
        return NULL;
      return gen_split_19 (insn, operands);

    case TImode:
      if (!general_gr_operand (operands[1], TImode))
        return NULL;
      if (push_operand (operands[0], TImode)
          && (
#line 1757 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed) && 
#line 1017 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
        return gen_split_17 (insn, operands);
      if (!nonimmediate_gr_operand (operands[0], TImode)
          || !(
#line 2312 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed) && 
#line 1017 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
        return NULL;
      return gen_split_20 (insn, operands);

    case TFmode:
      if (!push_operand (operands[0], TFmode)
          || !sse_reg_operand (operands[1], TFmode))
        return NULL;
      if ((
#line 2981 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_SSE && reload_completed) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
        return gen_split_21 (insn, operands);
      if (!(
#line 2981 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_SSE && reload_completed) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
        return NULL;
      return gen_split_22 (insn, operands);

    case DFmode:
      if (!push_operand (operands[0], DFmode)
          || !any_fp_register_operand (operands[1], DFmode))
        return NULL;
      if ((
#line 3080 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
        return gen_split_27 (insn, operands);
      if (!(
#line 3080 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
        return NULL;
      return gen_split_28 (insn, operands);

    case SFmode:
      if (!push_operand (operands[0], SFmode))
        return NULL;
      if (any_fp_register_operand (operands[1], SFmode))
        {
          if ((
#line 3118 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
            return gen_split_29 (insn, operands);
          if ((
#line 3118 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
            return gen_split_30 (insn, operands);
        }
      if (!memory_operand (operands[1], SFmode)
          || !
#line 3141 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed
   && find_constant_src (insn)))
        return NULL;
      return gen_split_31 (insn, operands);

    default:
      return NULL;
    }
}

static rtx_insn *
split_12 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  operands[1] = x2;
  res = split_11 (x1, insn);
  if (res != NULL_RTX)
    return res;
  x3 = XEXP (x1, 0);
  if (GET_CODE (x3) == MEM)
    {
      if (GET_MODE (x3) == XFmode)
        {
          x4 = XEXP (x3, 0);
          if (GET_CODE (x4) == PRE_MODIFY
              && pattern152 (x4) == 0)
            {
              switch (pattern557 (x1))
                {
                case 0:
                  if (((
#line 2995 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 2997 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( 1)))
                    return gen_split_23 (insn, operands);
                  break;

                case 1:
                  if (((
#line 2995 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 2997 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( 1)))
                    return gen_split_24 (insn, operands);
                  break;

                default:
                  break;
                }
            }
        }
      operands[0] = x3;
      operands[1] = x2;
      if (fp_register_operand (operands[1], XFmode)
          && push_operand (operands[0], XFmode))
        {
          if ((
#line 3046 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
            return gen_split_25 (insn, operands);
          if ((
#line 3046 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
            return gen_split_26 (insn, operands);
        }
      if (general_gr_operand (operands[1], VOIDmode)
          && push_operand (operands[0], VOIDmode)
          && 
#line 3149 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed
   && (GET_MODE (operands[0]) == TFmode
       || GET_MODE (operands[0]) == XFmode
       || GET_MODE (operands[0]) == DFmode)))
        return gen_split_32 (insn, operands);
    }
  operands[1] = x2;
  operands[0] = x3;
  switch (GET_MODE (operands[0]))
    {
    case TFmode:
      if (nonimmediate_gr_operand (operands[0], TFmode)
          && general_gr_operand (operands[1], TFmode)
          && 
#line 3248 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
        return gen_split_33 (insn, operands);
      break;

    case XFmode:
      if (nonimmediate_gr_operand (operands[0], XFmode)
          && general_gr_operand (operands[1], XFmode)
          && 
#line 3321 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
        return gen_split_34 (insn, operands);
      break;

    case DFmode:
      if (nonimmediate_gr_operand (operands[0], DFmode)
          && general_gr_operand (operands[1], DFmode)
          && 
#line 3523 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && reload_completed))
        return gen_split_35 (insn, operands);
      break;

    default:
      break;
    }
  if (any_fp_register_operand (operands[0], VOIDmode)
      && nonimmediate_operand (operands[1], VOIDmode)
      && 
#line 3666 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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)
   && ix86_standard_x87sse_constant_load_p (insn, operands[0])))
    return gen_split_36 (insn, operands);
  if (fp_register_operand (operands[0], SFmode)
      && immediate_operand (operands[1], SFmode)
      && 
#line 3690 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed
   && (standard_80387_constant_p (operands[1]) == 8
       || standard_80387_constant_p (operands[1]) == 9)))
    return gen_split_38 (insn, operands);
  if (fp_register_operand (operands[0], DFmode)
      && immediate_operand (operands[1], DFmode)
      && 
#line 3690 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed
   && (standard_80387_constant_p (operands[1]) == 8
       || standard_80387_constant_p (operands[1]) == 9)))
    return gen_split_39 (insn, operands);
  if (fp_register_operand (operands[0], XFmode)
      && immediate_operand (operands[1], XFmode)
      && 
#line 3690 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed
   && (standard_80387_constant_p (operands[1]) == 8
       || standard_80387_constant_p (operands[1]) == 9)))
    return gen_split_40 (insn, operands);
  if (register_operand (operands[0], V4SFmode)
      && zero_extended_scalar_load_operand (operands[1], V4SFmode)
      && 
#line 1150 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && reload_completed))
    return gen_split_371 (insn, operands);
  if (register_operand (operands[0], V2DFmode)
      && zero_extended_scalar_load_operand (operands[1], V2DFmode)
      && 
#line 1164 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && reload_completed))
    return gen_split_372 (insn, operands);
  switch (GET_MODE (operands[0]))
    {
    case V8QImode:
      if (!nonimmediate_gr_operand (operands[0], V8QImode)
          || !general_gr_operand (operands[1], V8QImode)
          || !
#line 210 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(!TARGET_64BIT && reload_completed))
        return NULL;
      return gen_split_360 (insn, operands);

    case V4HImode:
      if (!nonimmediate_gr_operand (operands[0], V4HImode)
          || !general_gr_operand (operands[1], V4HImode)
          || !
#line 210 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(!TARGET_64BIT && reload_completed))
        return NULL;
      return gen_split_361 (insn, operands);

    case V2SImode:
      if (!nonimmediate_gr_operand (operands[0], V2SImode)
          || !general_gr_operand (operands[1], V2SImode)
          || !
#line 210 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(!TARGET_64BIT && reload_completed))
        return NULL;
      return gen_split_362 (insn, operands);

    case V1DImode:
      if (!nonimmediate_gr_operand (operands[0], V1DImode)
          || !general_gr_operand (operands[1], V1DImode)
          || !
#line 210 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(!TARGET_64BIT && reload_completed))
        return NULL;
      return gen_split_363 (insn, operands);

    case V2SFmode:
      if (!nonimmediate_gr_operand (operands[0], V2SFmode)
          || !general_gr_operand (operands[1], V2SFmode)
          || !
#line 210 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(!TARGET_64BIT && reload_completed))
        return NULL;
      return gen_split_364 (insn, operands);

    case V64SFmode:
      if (!nonimmediate_operand (operands[0], V64SFmode)
          || !vector_move_operand (operands[1], V64SFmode)
          || !((
#line 19745 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F
   && (register_operand (operands[0], V64SFmode)
       || register_operand (operands[1], V64SFmode))) && 
#line 19728 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX5124FMAPS)) && 
#line 19749 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
( reload_completed)))
        return NULL;
      return gen_split_451 (insn, operands);

    case V64SImode:
      if (!nonimmediate_operand (operands[0], V64SImode)
          || !vector_move_operand (operands[1], V64SImode)
          || !((
#line 19745 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F
   && (register_operand (operands[0], V64SImode)
       || register_operand (operands[1], V64SImode))) && 
#line 19728 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX5124VNNIW)) && 
#line 19749 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
( reload_completed)))
        return NULL;
      return gen_split_452 (insn, operands);

    default:
      return NULL;
    }
}

static rtx_insn *
split_13 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  switch (GET_CODE (operands[0]))
    {
    case REG:
      if (any_fp_register_operand (operands[0], VOIDmode)
          && nonimmediate_operand (operands[1], VOIDmode)
          && 
#line 3678 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed
   && (GET_MODE (operands[0]) == TFmode
       || GET_MODE (operands[0]) == XFmode
       || GET_MODE (operands[0]) == DFmode)
   && ix86_standard_x87sse_constant_load_p (insn, operands[0])))
        return gen_split_37 (insn, operands);
      if (!sse_reg_operand (operands[0], DFmode)
          || GET_MODE (x3) != DFmode
          || !nonimmediate_operand (operands[1], SFmode))
        return NULL;
      if (
#line 4306 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_VECTOR_FP_CONVERTS
   && optimize_insn_for_speed_p ()
   && reload_completed
   && (!EXT_REX_SSE_REG_P (operands[0])
       || TARGET_AVX512VL)))
        return gen_split_60 (insn, operands);
      if (!
#line 5302 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_SSE_PARTIAL_REG_DEPENDENCY && epilogue_completed
   && optimize_function_for_speed_p (cfun)
   && (!REG_P (operands[1])
       || REGNO (operands[0]) != REGNO (operands[1]))
   && (!EXT_REX_SSE_REG_P (operands[0])
       || TARGET_AVX512VL)))
        return NULL;
      return gen_split_94 (insn, operands);

    case MEM:
      switch (GET_MODE (operands[0]))
        {
        case DFmode:
          if (!push_operand (operands[0], DFmode)
              || GET_MODE (x3) != DFmode
              || !fp_register_operand (operands[1], SFmode))
            return NULL;
          if ((
#line 4262 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
            return gen_split_54 (insn, operands);
          if (!(
#line 4262 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
            return NULL;
          return gen_split_55 (insn, operands);

        case XFmode:
          if (!push_operand (operands[0], XFmode)
              || GET_MODE (x3) != XFmode)
            return NULL;
          switch (GET_MODE (operands[1]))
            {
            case SFmode:
              if (!fp_register_operand (operands[1], SFmode))
                return NULL;
              if ((
#line 4269 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return gen_split_56 (insn, operands);
              if (!(
#line 4269 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return NULL;
              return gen_split_57 (insn, operands);

            case DFmode:
              if (!fp_register_operand (operands[1], DFmode))
                return NULL;
              if ((
#line 4269 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)))
                return gen_split_58 (insn, operands);
              if (!(
#line 4269 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)))
                return NULL;
              return gen_split_59 (insn, operands);

            default:
              return NULL;
            }

        default:
          return NULL;
        }

    default:
      return NULL;
    }
}

static rtx_insn *
split_14 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != DImode)
    return NULL;
  x3 = XEXP (x1, 0);
  operands[0] = x3;
  x4 = XEXP (x2, 0);
  operands[1] = x4;
  switch (GET_CODE (operands[1]))
    {
    case SUBREG:
    case MEM:
      if (memory_operand (operands[1], SImode)
          && memory_operand (operands[0], DImode)
          && 
#line 3832 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
        return gen_split_41 (insn, operands);
      break;

    case REG:
      if (general_reg_operand (operands[1], SImode)
          && general_reg_operand (operands[0], DImode)
          && 
#line 3839 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && reload_completed
   && REGNO (operands[0]) == REGNO (operands[1])))
        return gen_split_42 (insn, operands);
      break;

    default:
      break;
    }
  if (nonimmediate_gr_operand (operands[1], SImode)
      && nonimmediate_gr_operand (operands[0], DImode)
      && 
#line 3847 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && reload_completed
   && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
    return gen_split_43 (insn, operands);
  if (!register_operand (operands[0], DImode))
    return NULL;
  switch (pattern284 ())
    {
    case 0:
      if ((
#line 3974 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_STV && TARGET_SSE2
   && TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)) && 
#line 3977 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed && GENERAL_REG_P (operands[0]))))
        return gen_split_47 (insn, operands);
      if (!(
#line 3992 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_STV && TARGET_SSE2
   && !(TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun))) && 
#line 3995 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed && GENERAL_REG_P (operands[0]))))
        return NULL;
      return gen_split_49 (insn, operands);

    case 1:
      if ((
#line 3974 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_STV && TARGET_SSE2
   && TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)) && 
#line 3977 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed && GENERAL_REG_P (operands[0]))))
        return gen_split_48 (insn, operands);
      if (!(
#line 3992 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_STV && TARGET_SSE2
   && !(TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun))) && 
#line 3995 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed && GENERAL_REG_P (operands[0]))))
        return NULL;
      return gen_split_50 (insn, operands);

    case 2:
      if (!(
#line 4003 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_STV && TARGET_SSE2) && 
#line 4005 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed && GENERAL_REG_P (operands[0]))))
        return NULL;
      return gen_split_51 (insn, operands);

    default:
      return NULL;
    }
}

static rtx_insn *
split_15 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  switch (GET_MODE (operands[0]))
    {
    case SFmode:
      switch (pattern199 (x3, SFmode))
        {
        case 0:
          if (
#line 5221 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_SSE2
   && TARGET_USE_VECTOR_CONVERTS
   && optimize_function_for_speed_p (cfun)
   && reload_completed
   && (MEM_P (operands[1]) || TARGET_INTER_UNIT_MOVES_TO_VEC)
   && (!EXT_REX_SSE_REG_P (operands[0])
       || TARGET_AVX512VL)))
            return gen_split_87 (insn, operands);
          if (!
#line 5250 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_SSE_PARTIAL_REG_DEPENDENCY && epilogue_completed
   && optimize_function_for_speed_p (cfun)
   && (!EXT_REX_SSE_REG_P (operands[0])
       || TARGET_AVX512VL)))
            return NULL;
          return gen_split_89 (insn, operands);

        case 1:
          if (!(
#line 5250 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_SSE_PARTIAL_REG_DEPENDENCY && epilogue_completed
   && optimize_function_for_speed_p (cfun)
   && (!EXT_REX_SSE_REG_P (operands[0])
       || TARGET_AVX512VL)) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return NULL;
          return gen_split_90 (insn, operands);

        default:
          return NULL;
        }

    case DFmode:
      switch (pattern199 (x3, DFmode))
        {
        case 0:
          if (
#line 5221 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_SSE2
   && TARGET_USE_VECTOR_CONVERTS
   && optimize_function_for_speed_p (cfun)
   && reload_completed
   && (MEM_P (operands[1]) || TARGET_INTER_UNIT_MOVES_TO_VEC)
   && (!EXT_REX_SSE_REG_P (operands[0])
       || TARGET_AVX512VL)))
            return gen_split_88 (insn, operands);
          if (!
#line 5250 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_SSE_PARTIAL_REG_DEPENDENCY && epilogue_completed
   && optimize_function_for_speed_p (cfun)
   && (!EXT_REX_SSE_REG_P (operands[0])
       || TARGET_AVX512VL)))
            return NULL;
          return gen_split_91 (insn, operands);

        case 1:
          if (!(
#line 5250 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_SSE_PARTIAL_REG_DEPENDENCY && epilogue_completed
   && optimize_function_for_speed_p (cfun)
   && (!EXT_REX_SSE_REG_P (operands[0])
       || TARGET_AVX512VL)) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return NULL;
          return gen_split_92 (insn, operands);

        default:
          return NULL;
        }

    default:
      return NULL;
    }
}

static rtx_insn *
split_16 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case PLUS:
      x5 = XEXP (x4, 0);
      switch (GET_CODE (x5))
        {
        case REG:
        case SUBREG:
          switch (pattern201 (x3))
            {
            case 0:
              if (!(
#line 6306 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
#line 6308 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
                return NULL;
              return gen_split_116 (insn, operands);

            case 1:
              if (!(
#line 6306 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
#line 6308 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
                return NULL;
              return gen_split_117 (insn, operands);

            default:
              return NULL;
            }

        case MULT:
          switch (pattern204 (x3))
            {
            case 0:
              if (!(
#line 6372 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
#line 6374 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
                return NULL;
              return gen_split_122 (insn, operands);

            case 1:
              if (!(
#line 6372 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
#line 6374 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
                return NULL;
              return gen_split_123 (insn, operands);

            default:
              return NULL;
            }

        case ASHIFT:
          switch (pattern205 (x3))
            {
            case 0:
              if (!(
#line 6398 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
#line 6400 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
                return NULL;
              return gen_split_124 (insn, operands);

            case 1:
              if (!(
#line 6398 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
#line 6400 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
                return NULL;
              return gen_split_125 (insn, operands);

            default:
              return NULL;
            }

        default:
          return NULL;
        }

    case MULT:
      switch (pattern145 (x3))
        {
        case 0:
          if (!(
#line 6328 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
#line 6330 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
            return NULL;
          return gen_split_118 (insn, operands);

        case 1:
          if (!(
#line 6328 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
#line 6330 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
            return NULL;
          return gen_split_119 (insn, operands);

        default:
          return NULL;
        }

    case ASHIFT:
      switch (pattern146 (x3))
        {
        case 0:
          if (!(
#line 6349 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
#line 6351 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
            return NULL;
          return gen_split_120 (insn, operands);

        case 1:
          if (!(
#line 6349 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) && 
#line 6351 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
            return NULL;
          return gen_split_121 (insn, operands);

        default:
          return NULL;
        }

    default:
      return NULL;
    }
}

static rtx_insn *
split_17 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  switch (XVECLEN (x3, 0))
    {
    case 3:
      if (XINT (x3, 1) != 48)
        return NULL;
      switch (pattern149 (x3))
        {
        case 0:
          if (!(
#line 9350 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
   || (TARGET_SSE && (SFmode == TFmode))) && 
#line 9353 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
            return NULL;
          return gen_split_201 (insn, operands);

        case 1:
          if (!(
#line 9350 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
   || (TARGET_SSE && (DFmode == TFmode))) && 
#line 9353 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
            return NULL;
          return gen_split_202 (insn, operands);

        case 2:
          if (!(
#line 9350 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((SSE_FLOAT_MODE_P (TFmode) && TARGET_SSE_MATH)
   || (TARGET_SSE && (TFmode == TFmode))) && 
#line 9353 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
            return NULL;
          return gen_split_203 (insn, operands);

        default:
          return NULL;
        }

    case 1:
      x4 = XVECEXP (x3, 0, 0);
      operands[1] = x4;
      switch (XINT (x3, 1))
        {
        case 57:
          if (GET_MODE (x3) != HImode
              || !register_operand (operands[0], HImode)
              || !register_operand (operands[1], XFmode)
              || !(
#line 15624 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && can_create_pseudo_p ()) && 
#line 15627 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( 1)))
            return NULL;
          return gen_split_311 (insn, operands);

        case 78:
          if (GET_MODE (x3) != HImode
              || !register_operand (operands[0], HImode))
            return NULL;
          switch (GET_MODE (operands[1]))
            {
            case SFmode:
              if (!memory_operand (operands[1], SFmode)
                  || !(
#line 16095 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && can_create_pseudo_p ()) && 
#line 16098 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( 1)))
                return NULL;
              return gen_split_345 (insn, operands);

            case DFmode:
              if (!memory_operand (operands[1], DFmode)
                  || !(
#line 16095 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && can_create_pseudo_p ()) && 
#line 16098 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( 1)))
                return NULL;
              return gen_split_346 (insn, operands);

            default:
              return NULL;
            }

        case 140:
          switch (pattern243 (x3))
            {
            case 0:
              if (!(
#line 18708 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))) && 
#line 18710 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
( reload_completed)))
                return NULL;
              return gen_split_442 (insn, operands);

            case 1:
              if (!(
#line 18708 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))) && 
#line 18710 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
( reload_completed)))
                return NULL;
              return gen_split_443 (insn, operands);

            case 2:
              if (!(
#line 18708 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))) && 
#line 18710 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
( reload_completed)))
                return NULL;
              return gen_split_444 (insn, operands);

            case 3:
              if (!(
#line 19622 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))) && 
#line 19624 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
( reload_completed)))
                return NULL;
              return gen_split_445 (insn, operands);

            case 4:
              if (!(
#line 19639 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))) && 
#line 19641 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
( reload_completed)))
                return NULL;
              return gen_split_448 (insn, operands);

            case 5:
              if (!(
#line 19622 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))) && 
#line 19624 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
( reload_completed)))
                return NULL;
              return gen_split_446 (insn, operands);

            case 6:
              if (!(
#line 19639 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))) && 
#line 19641 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
( reload_completed)))
                return NULL;
              return gen_split_449 (insn, operands);

            case 7:
              if (!(
#line 19622 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))) && 
#line 19624 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
( reload_completed)))
                return NULL;
              return gen_split_447 (insn, operands);

            case 8:
              if (!(
#line 19639 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))) && 
#line 19641 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
( reload_completed)))
                return NULL;
              return gen_split_450 (insn, operands);

            default:
              return NULL;
            }

        default:
          return NULL;
        }

    default:
      return NULL;
    }
}

static rtx_insn *
split_18 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  if (GET_CODE (x5) != REG
      || REGNO (x5) != 17)
    return NULL;
  x6 = XEXP (x4, 1);
  if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return NULL;
  x7 = XEXP (x3, 1);
  if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return NULL;
  x8 = XEXP (x2, 1);
  if (GET_CODE (x8) != LABEL_REF)
    return NULL;
  x9 = XEXP (x2, 2);
  if (GET_CODE (x9) != PC)
    return NULL;
  x10 = XEXP (x1, 0);
  if (GET_CODE (x10) != PC)
    return NULL;
  x11 = XEXP (x8, 0);
  operands[1] = x11;
  switch (GET_CODE (x3))
    {
    case NE:
      return gen_split_268 (insn, operands);

    case EQ:
      return gen_split_269 (insn, operands);

    default:
      return NULL;
    }
}

static rtx_insn *
split_19 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  switch (GET_CODE (x3))
    {
    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:
      x4 = XEXP (x3, 0);
      if (ix86_comparison_operator (x4, VOIDmode))
        {
          operands[0] = x4;
          res = split_18 (x1, insn);
          if (res != NULL_RTX)
            return res;
        }
      operands[1] = x3;
      if (GET_CODE (x4) != REG
          || REGNO (x4) != 17)
        return NULL;
      x5 = XEXP (x3, 1);
      if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return NULL;
      x6 = XEXP (x1, 0);
      operands[0] = x6;
      x7 = XEXP (x2, 1);
      operands[2] = x7;
      x8 = XEXP (x2, 2);
      operands[3] = x8;
      switch (GET_MODE (operands[0]))
        {
        case HImode:
          if (!register_operand (operands[0], HImode)
              || GET_MODE (x2) != HImode
              || !ix86_comparison_operator (operands[1], VOIDmode))
            return NULL;
          if (nonimmediate_operand (operands[2], HImode)
              && nonimmediate_operand (operands[3], HImode)
              && 
#line 17099 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_CMOVE
   && TARGET_AVOID_MEM_OPND_FOR_CMOVE
   && (MEM_P (operands[2]) || MEM_P (operands[3]))
   && can_create_pseudo_p ()
   && optimize_insn_for_speed_p ()))
            return gen_split_347 (insn, operands);
          if (!register_operand (operands[2], HImode)
              || !register_operand (operands[3], HImode)
              || !
#line 17130 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_CMOVE && !TARGET_PARTIAL_REG_STALL
   && reload_completed))
            return NULL;
          return gen_split_351 (insn, operands);

        case QImode:
          if (pattern558 (x2) != 0
              || !
#line 17130 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_CMOVE && !TARGET_PARTIAL_REG_STALL
   && reload_completed))
            return NULL;
          return gen_split_350 (insn, operands);

        case DFmode:
          if (GET_MODE (x2) != DFmode
              || !nonimmediate_operand (operands[2], DFmode)
              || !nonimmediate_operand (operands[3], DFmode))
            return NULL;
          if (general_reg_operand (operands[0], DFmode)
              && fcmov_comparison_operator (operands[1], VOIDmode)
              && 
#line 17252 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && reload_completed))
            return gen_split_352 (insn, operands);
          if (!register_operand (operands[0], DFmode)
              || !ix86_comparison_operator (operands[1], VOIDmode)
              || !
#line 17286 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_80387 && TARGET_CMOVE
   && TARGET_AVOID_MEM_OPND_FOR_CMOVE
   && (MEM_P (operands[2]) || MEM_P (operands[3]))
   && can_create_pseudo_p ()
   && optimize_insn_for_speed_p ()))
            return NULL;
          return gen_split_354 (insn, operands);

        case SFmode:
          if (pattern559 (x2, SFmode) != 0
              || !
#line 17286 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_80387 && TARGET_CMOVE
   && TARGET_AVOID_MEM_OPND_FOR_CMOVE
   && (MEM_P (operands[2]) || MEM_P (operands[3]))
   && can_create_pseudo_p ()
   && optimize_insn_for_speed_p ()))
            return NULL;
          return gen_split_353 (insn, operands);

        default:
          return NULL;
        }

    default:
      return NULL;
    }
}

static rtx_insn *
split_20 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  x4 = XVECEXP (x3, 0, 0);
  if (GET_CODE (x4) != CONST_INT)
    return NULL;
  switch (XWINT (x4, 0))
    {
    case 0LL:
      switch (GET_MODE (operands[0]))
        {
        case SFmode:
          switch (pattern466 (x2))
            {
            case 0:
              if ((
#line 600 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX && !(MEM_P (operands[0]) && MEM_P (operands[1]))) && 
#line 602 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
( reload_completed)))
                return gen_split_365 (insn, operands);
              break;

            case 1:
              if ((
#line 7059 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && !(MEM_P (operands[0]) && MEM_P (operands[1]))) && 
#line 7061 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
( reload_completed)))
                return gen_split_397 (insn, operands);
              break;

            default:
              break;
            }
          break;

        case DFmode:
          if (register_operand (operands[0], DFmode)
              && GET_MODE (x2) == DFmode
              && nonimmediate_operand (operands[1], V2DFmode)
              && 
#line 8844 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && reload_completed))
            return gen_split_415 (insn, operands);
          break;

        default:
          break;
        }
      break;

    case 1LL:
      switch (GET_MODE (operands[0]))
        {
        case SFmode:
          if (register_operand (operands[0], SFmode)
              && GET_MODE (x2) == SFmode
              && memory_operand (operands[1], V2SFmode)
              && 
#line 640 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX && reload_completed))
            return gen_split_366 (insn, operands);
          break;

        case DFmode:
          if (register_operand (operands[0], DFmode)
              && GET_MODE (x2) == DFmode
              && memory_operand (operands[1], V2DFmode)
              && 
#line 8799 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && reload_completed))
            return gen_split_414 (insn, operands);
          break;

        default:
          break;
        }
      break;

    default:
      break;
    }
  operands[2] = x4;
  switch (GET_MODE (operands[0]))
    {
    case SFmode:
      if (GET_MODE (x2) != SFmode)
        return NULL;
      if (nonimmediate_operand (operands[0], SFmode)
          && register_operand (operands[1], V4SFmode)
          && const_0_to_3_operand (operands[2], SImode)
          && (
#line 7070 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE4_1) && 
#line 7077 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
( reload_completed && SSE_REG_P (operands[0]))))
        return gen_split_398 (insn, operands);
      if (!register_operand (operands[0], SFmode)
          || !memory_operand (operands[1], V4SFmode)
          || !const_0_to_3_operand (operands[2], VOIDmode)
          || !(
#line 7112 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE) && 
#line 7114 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
( reload_completed)))
        return NULL;
      return gen_split_399 (insn, operands);

    case QImode:
      if (!register_operand (operands[0], QImode)
          || GET_MODE (x2) != QImode
          || !memory_operand (operands[1], V16QImode)
          || !const_0_to_15_operand (operands[2], VOIDmode)
          || !
#line 13708 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && reload_completed))
        return NULL;
      return gen_split_422 (insn, operands);

    case HImode:
      if (!register_operand (operands[0], HImode)
          || GET_MODE (x2) != HImode
          || !memory_operand (operands[1], V8HImode)
          || !const_0_to_7_operand (operands[2], VOIDmode)
          || !
#line 13708 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && reload_completed))
        return NULL;
      return gen_split_423 (insn, operands);

    default:
      return NULL;
    }
}

static rtx_insn *
split_21 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  if (pattern247 (x3) != 0)
    return NULL;
  x4 = XVECEXP (x3, 0, 4);
  if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
    return NULL;
  x5 = XVECEXP (x3, 0, 5);
  if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
    return NULL;
  x6 = XVECEXP (x3, 0, 6);
  if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
    return NULL;
  x7 = XVECEXP (x3, 0, 7);
  if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
    return NULL;
  switch (pattern721 (x2))
    {
    case 0:
      if (!
#line 7507 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))
   && reload_completed))
        return NULL;
      return gen_split_402 (insn, operands);

    case 1:
      if (!
#line 7507 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))
   && reload_completed))
        return NULL;
      return gen_split_403 (insn, operands);

    case 2:
      if (!(
#line 7716 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))) && 
#line 7718 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
( reload_completed)))
        return NULL;
      return gen_split_409 (insn, operands);

    default:
      return NULL;
    }
}

static rtx_insn *
split_22 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  if (pattern342 (x3) != 0)
    return NULL;
  x4 = XVECEXP (x3, 0, 16);
  if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 16])
    return NULL;
  x5 = XVECEXP (x3, 0, 17);
  if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 17])
    return NULL;
  x6 = XVECEXP (x3, 0, 18);
  if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 18])
    return NULL;
  x7 = XVECEXP (x3, 0, 19);
  if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 19])
    return NULL;
  x8 = XVECEXP (x3, 0, 20);
  if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 20])
    return NULL;
  x9 = XVECEXP (x3, 0, 21);
  if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 21])
    return NULL;
  x10 = XVECEXP (x3, 0, 22);
  if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 22])
    return NULL;
  x11 = XVECEXP (x3, 0, 23);
  if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 23])
    return NULL;
  x12 = XVECEXP (x3, 0, 24);
  if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 24])
    return NULL;
  x13 = XVECEXP (x3, 0, 25);
  if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 25])
    return NULL;
  x14 = XVECEXP (x3, 0, 26);
  if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 26])
    return NULL;
  x15 = XVECEXP (x3, 0, 27);
  if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 27])
    return NULL;
  x16 = XVECEXP (x3, 0, 28);
  if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 28])
    return NULL;
  x17 = XVECEXP (x3, 0, 29);
  if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 29])
    return NULL;
  x18 = XVECEXP (x3, 0, 30);
  if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 30])
    return NULL;
  x19 = XVECEXP (x3, 0, 31);
  if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 31]
      || !nonimmediate_operand (operands[0], V32QImode)
      || GET_MODE (x2) != V32QImode
      || !nonimmediate_operand (operands[1], V64QImode)
      || !(
#line 7766 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))) && 
#line 7768 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
( reload_completed)))
    return NULL;
  return gen_split_410 (insn, operands);
}

static rtx_insn *
split_23 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) != PARALLEL)
    return NULL;
  x4 = XEXP (x1, 0);
  operands[0] = x4;
  x5 = XEXP (x2, 0);
  switch (GET_CODE (x5))
    {
    case REG:
    case SUBREG:
    case MEM:
      operands[1] = x5;
      switch (XVECLEN (x3, 0))
        {
        case 1:
          res = split_20 (x1, insn);
          if (res != NULL_RTX)
            return res;
          break;

        case 4:
          if (pattern247 (x3) == 0)
            {
              switch (pattern560 (x2))
                {
                case 0:
                  if (
#line 7299 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))
   && reload_completed
   && (TARGET_AVX512VL
       || (REG_P (operands[0]) && !EXT_REX_SSE_REG_P (operands[1])))))
                    return gen_split_400 (insn, operands);
                  break;

                case 1:
                  if (
#line 7299 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))
   && reload_completed
   && (TARGET_AVX512VL
       || (REG_P (operands[0]) && !EXT_REX_SSE_REG_P (operands[1])))))
                    return gen_split_401 (insn, operands);
                  break;

                case 2:
                  if (
#line 7574 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))
   && reload_completed))
                    return gen_split_406 (insn, operands);
                  break;

                case 3:
                  if (
#line 7574 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))
   && reload_completed))
                    return gen_split_407 (insn, operands);
                  break;

                default:
                  break;
                }
            }
          break;

        case 8:
          res = split_21 (x1, insn);
          if (res != NULL_RTX)
            return res;
          break;

        case 2:
          x6 = XVECEXP (x3, 0, 0);
          if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + 0])
            {
              x7 = XVECEXP (x3, 0, 1);
              if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + 1])
                {
                  switch (pattern460 (x2))
                    {
                    case 0:
                      if (
#line 7539 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))
   && reload_completed))
                        return gen_split_404 (insn, operands);
                      break;

                    case 1:
                      if (
#line 7539 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))
   && reload_completed))
                        return gen_split_405 (insn, operands);
                      break;

                    default:
                      break;
                    }
                }
            }
          break;

        case 16:
          if (pattern342 (x3) == 0)
            {
              switch (pattern902 (x2))
                {
                case 0:
                  if ((
#line 7681 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))) && 
#line 7683 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
( reload_completed)))
                    return gen_split_408 (insn, operands);
                  break;

                case 1:
                  if ((
#line 7813 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))) && 
#line 7815 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
( reload_completed)))
                    return gen_split_411 (insn, operands);
                  break;

                default:
                  break;
                }
            }
          break;

        case 32:
          res = split_22 (x1, insn);
          if (res != NULL_RTX)
            return res;
          break;

        default:
          break;
        }
      if (XVECLEN (x3, 0) < 1)
        return NULL;
      operands[2] = x3;
      if (!avx_vbroadcast_operand (operands[2], VOIDmode))
        return NULL;
      x6 = XVECEXP (x3, 0, 0);
      operands[3] = x6;
      if (!const_int_operand (operands[3], VOIDmode))
        return NULL;
      switch (GET_MODE (operands[0]))
        {
        case V8SFmode:
          if (!register_operand (operands[0], V8SFmode)
              || GET_MODE (x2) != V8SFmode
              || !nonimmediate_operand (operands[1], V8SFmode)
              || !(
#line 17885 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX) && 
#line 17887 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
( reload_completed && (V8SFmode != V4DFmode || !TARGET_AVX2))))
            return NULL;
          return gen_split_440 (insn, operands);

        case V4DFmode:
          if (!register_operand (operands[0], V4DFmode)
              || GET_MODE (x2) != V4DFmode
              || !nonimmediate_operand (operands[1], V4DFmode)
              || !(
#line 17885 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX) && 
#line 17887 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
( reload_completed && (V4DFmode != V4DFmode || !TARGET_AVX2))))
            return NULL;
          return gen_split_441 (insn, operands);

        default:
          return NULL;
        }

    case VEC_CONCAT:
      x8 = XEXP (x5, 0);
      switch (GET_CODE (x8))
        {
        case MINUS:
          switch (pattern285 (x2, PLUS))
            {
            case 0:
              if (pattern799 (x5, V8SFmode, V16SFmode) != 0
                  || !(
#line 2056 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE3
   && can_create_pseudo_p ()
   && ((rtx_equal_p (operands[1], operands[3])
	&& rtx_equal_p (operands[2], operands[4]))
       || (rtx_equal_p (operands[1], operands[4])
	   && rtx_equal_p (operands[2], operands[3])))) && 
#line 230 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
                return NULL;
              return gen_split_387 (insn, operands);

            case 1:
              if (pattern799 (x5, V4SFmode, V8SFmode) != 0
                  || !
#line 2056 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE3
   && can_create_pseudo_p ()
   && ((rtx_equal_p (operands[1], operands[3])
	&& rtx_equal_p (operands[2], operands[4]))
       || (rtx_equal_p (operands[1], operands[4])
	   && rtx_equal_p (operands[2], operands[3])))))
                return NULL;
              return gen_split_388 (insn, operands);

            case 2:
              if (pattern799 (x5, V4DFmode, V8DFmode) != 0
                  || !(
#line 2056 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE3
   && can_create_pseudo_p ()
   && ((rtx_equal_p (operands[1], operands[3])
	&& rtx_equal_p (operands[2], operands[4]))
       || (rtx_equal_p (operands[1], operands[4])
	   && rtx_equal_p (operands[2], operands[3])))) && 
#line 231 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
                return NULL;
              return gen_split_389 (insn, operands);

            case 3:
              if (pattern799 (x5, V2DFmode, V4DFmode) != 0
                  || !(
#line 2056 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE3
   && can_create_pseudo_p ()
   && ((rtx_equal_p (operands[1], operands[3])
	&& rtx_equal_p (operands[2], operands[4]))
       || (rtx_equal_p (operands[1], operands[4])
	   && rtx_equal_p (operands[2], operands[3])))) && 
#line 231 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
                return NULL;
              return gen_split_390 (insn, operands);

            default:
              return NULL;
            }

        case PLUS:
          switch (pattern285 (x2, MINUS))
            {
            case 0:
              if (pattern800 (x5, V8SFmode, V16SFmode) != 0
                  || !(
#line 2090 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE3
   && can_create_pseudo_p ()
   && ((rtx_equal_p (operands[1], operands[3])
	&& rtx_equal_p (operands[2], operands[4]))
       || (rtx_equal_p (operands[1], operands[4])
	   && rtx_equal_p (operands[2], operands[3])))) && 
#line 230 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
                return NULL;
              return gen_split_391 (insn, operands);

            case 1:
              if (pattern800 (x5, V4SFmode, V8SFmode) != 0
                  || !
#line 2090 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE3
   && can_create_pseudo_p ()
   && ((rtx_equal_p (operands[1], operands[3])
	&& rtx_equal_p (operands[2], operands[4]))
       || (rtx_equal_p (operands[1], operands[4])
	   && rtx_equal_p (operands[2], operands[3])))))
                return NULL;
              return gen_split_392 (insn, operands);

            case 2:
              if (pattern800 (x5, V4DFmode, V8DFmode) != 0
                  || !(
#line 2090 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE3
   && can_create_pseudo_p ()
   && ((rtx_equal_p (operands[1], operands[3])
	&& rtx_equal_p (operands[2], operands[4]))
       || (rtx_equal_p (operands[1], operands[4])
	   && rtx_equal_p (operands[2], operands[3])))) && 
#line 231 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
                return NULL;
              return gen_split_393 (insn, operands);

            case 3:
              if (pattern800 (x5, V2DFmode, V4DFmode) != 0
                  || !(
#line 2090 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE3
   && can_create_pseudo_p ()
   && ((rtx_equal_p (operands[1], operands[3])
	&& rtx_equal_p (operands[2], operands[4]))
       || (rtx_equal_p (operands[1], operands[4])
	   && rtx_equal_p (operands[2], operands[3])))) && 
#line 231 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
                return NULL;
              return gen_split_394 (insn, operands);

            default:
              return NULL;
            }

        case REG:
        case SUBREG:
        case MEM:
          operands[1] = x8;
          if (XVECLEN (x3, 0) != 2)
            return NULL;
          x6 = XVECEXP (x3, 0, 0);
          if (GET_CODE (x6) != CONST_INT
              || GET_MODE (x2) != V2DFmode
              || GET_MODE (x5) != V4DFmode)
            return NULL;
          x9 = XEXP (x5, 1);
          if (!rtx_equal_p (x9, operands[1]))
            return NULL;
          if (XWINT (x6, 0) == 0LL)
            {
              x7 = XVECEXP (x3, 0, 1);
              if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + 2]
                  && memory_operand (operands[0], V2DFmode)
                  && register_operand (operands[1], V2DFmode)
                  && 
#line 8158 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE3 && reload_completed))
                return gen_split_412 (insn, operands);
            }
          if (!register_operand (operands[0], V2DFmode)
              || !memory_operand (operands[1], V2DFmode))
            return NULL;
          operands[2] = x6;
          if (!const_0_to_1_operand (operands[2], SImode))
            return NULL;
          x7 = XVECEXP (x3, 0, 1);
          operands[3] = x7;
          if (!const_int_operand (operands[3], SImode)
              || !
#line 8176 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE3 && INTVAL (operands[2]) + 2 == INTVAL (operands[3])))
            return NULL;
          return gen_split_413 (insn, operands);

        default:
          return NULL;
        }

    default:
      return NULL;
    }
}

static rtx_insn *
split_24 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case MINUS:
      x5 = XEXP (x3, 1);
      if (GET_CODE (x5) != PLUS)
        return NULL;
      operands[6] = x3;
      x6 = XEXP (x4, 0);
      operands[1] = x6;
      x7 = XEXP (x4, 1);
      operands[2] = x7;
      x8 = XEXP (x5, 0);
      operands[3] = x8;
      x9 = XEXP (x5, 1);
      operands[4] = x9;
      x10 = XEXP (x3, 2);
      operands[5] = x10;
      if (!const_int_operand (operands[5], VOIDmode))
        return NULL;
      switch (GET_MODE (operands[0]))
        {
        case V8SFmode:
          if (pattern641 (x3, V8SFmode) != 0
              || !(
#line 2004 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE3
   && can_create_pseudo_p ()
   && ((rtx_equal_p (operands[1], operands[3])
	&& rtx_equal_p (operands[2], operands[4]))
       || (rtx_equal_p (operands[1], operands[4])
	   && rtx_equal_p (operands[2], operands[3])))) && 
#line 230 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return NULL;
          return gen_split_379 (insn, operands);

        case V4SFmode:
          if (pattern641 (x3, V4SFmode) != 0
              || !
#line 2004 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE3
   && can_create_pseudo_p ()
   && ((rtx_equal_p (operands[1], operands[3])
	&& rtx_equal_p (operands[2], operands[4]))
       || (rtx_equal_p (operands[1], operands[4])
	   && rtx_equal_p (operands[2], operands[3])))))
            return NULL;
          return gen_split_380 (insn, operands);

        case V4DFmode:
          if (pattern641 (x3, V4DFmode) != 0
              || !(
#line 2004 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE3
   && can_create_pseudo_p ()
   && ((rtx_equal_p (operands[1], operands[3])
	&& rtx_equal_p (operands[2], operands[4]))
       || (rtx_equal_p (operands[1], operands[4])
	   && rtx_equal_p (operands[2], operands[3])))) && 
#line 231 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return NULL;
          return gen_split_381 (insn, operands);

        case V2DFmode:
          if (pattern641 (x3, V2DFmode) != 0
              || !(
#line 2004 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE3
   && can_create_pseudo_p ()
   && ((rtx_equal_p (operands[1], operands[3])
	&& rtx_equal_p (operands[2], operands[4]))
       || (rtx_equal_p (operands[1], operands[4])
	   && rtx_equal_p (operands[2], operands[3])))) && 
#line 231 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
            return NULL;
          return gen_split_382 (insn, operands);

        default:
          return NULL;
        }

    case PLUS:
      x5 = XEXP (x3, 1);
      if (GET_CODE (x5) != MINUS)
        return NULL;
      operands[6] = x3;
      x6 = XEXP (x4, 0);
      operands[1] = x6;
      x7 = XEXP (x4, 1);
      operands[2] = x7;
      x8 = XEXP (x5, 0);
      operands[3] = x8;
      x9 = XEXP (x5, 1);
      operands[4] = x9;
      x10 = XEXP (x3, 2);
      operands[5] = x10;
      if (!const_int_operand (operands[5], VOIDmode))
        return NULL;
      switch (GET_MODE (operands[0]))
        {
        case V8SFmode:
          if (pattern642 (x3, V8SFmode) != 0
              || !(
#line 2026 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE3
   && can_create_pseudo_p ()
   && ((rtx_equal_p (operands[1], operands[3])
	&& rtx_equal_p (operands[2], operands[4]))
       || (rtx_equal_p (operands[1], operands[4])
	   && rtx_equal_p (operands[2], operands[3])))) && 
#line 230 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return NULL;
          return gen_split_383 (insn, operands);

        case V4SFmode:
          if (pattern642 (x3, V4SFmode) != 0
              || !
#line 2026 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE3
   && can_create_pseudo_p ()
   && ((rtx_equal_p (operands[1], operands[3])
	&& rtx_equal_p (operands[2], operands[4]))
       || (rtx_equal_p (operands[1], operands[4])
	   && rtx_equal_p (operands[2], operands[3])))))
            return NULL;
          return gen_split_384 (insn, operands);

        case V4DFmode:
          if (pattern642 (x3, V4DFmode) != 0
              || !(
#line 2026 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE3
   && can_create_pseudo_p ()
   && ((rtx_equal_p (operands[1], operands[3])
	&& rtx_equal_p (operands[2], operands[4]))
       || (rtx_equal_p (operands[1], operands[4])
	   && rtx_equal_p (operands[2], operands[3])))) && 
#line 231 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX)))
            return NULL;
          return gen_split_385 (insn, operands);

        case V2DFmode:
          if (pattern642 (x3, V2DFmode) != 0
              || !(
#line 2026 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE3
   && can_create_pseudo_p ()
   && ((rtx_equal_p (operands[1], operands[3])
	&& rtx_equal_p (operands[2], operands[4]))
       || (rtx_equal_p (operands[1], operands[4])
	   && rtx_equal_p (operands[2], operands[3])))) && 
#line 231 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2)))
            return NULL;
          return gen_split_386 (insn, operands);

        default:
          return NULL;
        }

    case VEC_DUPLICATE:
      x10 = XEXP (x3, 2);
      if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
        return NULL;
      x6 = XEXP (x4, 0);
      operands[1] = x6;
      x5 = XEXP (x3, 1);
      if (!rtx_equal_p (x5, operands[0]))
        return NULL;
      switch (GET_MODE (operands[0]))
        {
        case V4SImode:
          if (pattern394 (x3, SImode, V4SImode) != 0
              || !
#line 7039 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && reload_completed))
            return NULL;
          return gen_split_395 (insn, operands);

        case V4SFmode:
          if (pattern394 (x3, SFmode, V4SFmode) != 0
              || !
#line 7039 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && reload_completed))
            return NULL;
          return gen_split_396 (insn, operands);

        default:
          return NULL;
        }

    default:
      return NULL;
    }
}

static rtx_insn *
split_25 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != V2DFmode)
    return NULL;
  x3 = XEXP (x1, 0);
  operands[0] = x3;
  if (!memory_operand (operands[0], V2DFmode))
    return NULL;
  x4 = XEXP (x2, 0);
  switch (GET_CODE (x4))
    {
    case VEC_SELECT:
      if (pattern64 (x4) != 0)
        return NULL;
      x5 = XEXP (x2, 1);
      operands[1] = x5;
      if (!register_operand (operands[1], DFmode))
        return NULL;
      x6 = XEXP (x4, 0);
      if (!rtx_equal_p (x6, operands[0])
          || !
#line 8917 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && reload_completed))
        return NULL;
      return gen_split_416 (insn, operands);

    case REG:
    case SUBREG:
      operands[1] = x4;
      if (!register_operand (operands[1], DFmode))
        return NULL;
      x5 = XEXP (x2, 1);
      if (pattern351 (x5) != 0)
        return NULL;
      x7 = XEXP (x5, 0);
      if (!rtx_equal_p (x7, operands[0])
          || !
#line 9000 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && reload_completed))
        return NULL;
      return gen_split_417 (insn, operands);

    default:
      return NULL;
    }
}

static rtx_insn *
split_26 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  switch (GET_MODE (operands[0]))
    {
    case V32QImode:
      if (!register_operand (operands[0], V32QImode)
          || GET_MODE (x3) != V32QImode
          || !register_operand (operands[1], QImode)
          || !
#line 17707 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2
   /* Disable this splitter if avx512vl_vec_dup_gprv*[qhs]i insn is
      available, because then we can broadcast from GPRs directly.
      For V*[QH]I modes it requires both -mavx512vl and -mavx512bw,
      for V*SI mode it requires just -mavx512vl.  */
   && !(TARGET_AVX512VL
	&& (TARGET_AVX512BW || QImode == SImode))
   && reload_completed && GENERAL_REG_P (operands[1])))
        return NULL;
      return gen_split_430 (insn, operands);

    case V16QImode:
      if (!register_operand (operands[0], V16QImode)
          || GET_MODE (x3) != V16QImode
          || !register_operand (operands[1], QImode)
          || !
#line 17707 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2
   /* Disable this splitter if avx512vl_vec_dup_gprv*[qhs]i insn is
      available, because then we can broadcast from GPRs directly.
      For V*[QH]I modes it requires both -mavx512vl and -mavx512bw,
      for V*SI mode it requires just -mavx512vl.  */
   && !(TARGET_AVX512VL
	&& (TARGET_AVX512BW || QImode == SImode))
   && reload_completed && GENERAL_REG_P (operands[1])))
        return NULL;
      return gen_split_431 (insn, operands);

    case V16HImode:
      if (!register_operand (operands[0], V16HImode)
          || GET_MODE (x3) != V16HImode
          || !register_operand (operands[1], HImode)
          || !
#line 17707 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2
   /* Disable this splitter if avx512vl_vec_dup_gprv*[qhs]i insn is
      available, because then we can broadcast from GPRs directly.
      For V*[QH]I modes it requires both -mavx512vl and -mavx512bw,
      for V*SI mode it requires just -mavx512vl.  */
   && !(TARGET_AVX512VL
	&& (TARGET_AVX512BW || HImode == SImode))
   && reload_completed && GENERAL_REG_P (operands[1])))
        return NULL;
      return gen_split_432 (insn, operands);

    case V8HImode:
      if (!register_operand (operands[0], V8HImode)
          || GET_MODE (x3) != V8HImode
          || !register_operand (operands[1], HImode)
          || !
#line 17707 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2
   /* Disable this splitter if avx512vl_vec_dup_gprv*[qhs]i insn is
      available, because then we can broadcast from GPRs directly.
      For V*[QH]I modes it requires both -mavx512vl and -mavx512bw,
      for V*SI mode it requires just -mavx512vl.  */
   && !(TARGET_AVX512VL
	&& (TARGET_AVX512BW || HImode == SImode))
   && reload_completed && GENERAL_REG_P (operands[1])))
        return NULL;
      return gen_split_433 (insn, operands);

    case V8SImode:
      if (!register_operand (operands[0], V8SImode)
          || GET_MODE (x3) != V8SImode
          || !register_operand (operands[1], SImode))
        return NULL;
      if (
#line 17707 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2
   /* Disable this splitter if avx512vl_vec_dup_gprv*[qhs]i insn is
      available, because then we can broadcast from GPRs directly.
      For V*[QH]I modes it requires both -mavx512vl and -mavx512bw,
      for V*SI mode it requires just -mavx512vl.  */
   && !(TARGET_AVX512VL
	&& (TARGET_AVX512BW || SImode == SImode))
   && reload_completed && GENERAL_REG_P (operands[1])))
        return gen_split_434 (insn, operands);
      if (!
#line 17730 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && !TARGET_AVX2 && reload_completed))
        return NULL;
      return gen_split_436 (insn, operands);

    case V4SImode:
      if (!register_operand (operands[0], V4SImode)
          || GET_MODE (x3) != V4SImode
          || !register_operand (operands[1], SImode)
          || !
#line 17707 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX2
   /* Disable this splitter if avx512vl_vec_dup_gprv*[qhs]i insn is
      available, because then we can broadcast from GPRs directly.
      For V*[QH]I modes it requires both -mavx512vl and -mavx512bw,
      for V*SI mode it requires just -mavx512vl.  */
   && !(TARGET_AVX512VL
	&& (TARGET_AVX512BW || SImode == SImode))
   && reload_completed && GENERAL_REG_P (operands[1])))
        return NULL;
      return gen_split_435 (insn, operands);

    case V8SFmode:
      if (!register_operand (operands[0], V8SFmode)
          || GET_MODE (x3) != V8SFmode
          || !register_operand (operands[1], SFmode)
          || !
#line 17730 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && !TARGET_AVX2 && reload_completed))
        return NULL;
      return gen_split_437 (insn, operands);

    case V4DImode:
      if (!register_operand (operands[0], V4DImode)
          || GET_MODE (x3) != V4DImode
          || !register_operand (operands[1], DImode)
          || !
#line 17730 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && !TARGET_AVX2 && reload_completed))
        return NULL;
      return gen_split_438 (insn, operands);

    case V4DFmode:
      if (!register_operand (operands[0], V4DFmode)
          || GET_MODE (x3) != V4DFmode
          || !register_operand (operands[1], DFmode)
          || !
#line 17730 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_AVX && !TARGET_AVX2 && reload_completed))
        return NULL;
      return gen_split_439 (insn, operands);

    default:
      return NULL;
    }
}

static rtx_insn *
split_27 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (GET_CODE (x2))
    {
    case CONST_INT:
    case CONST_WIDE_INT:
    case CONST_FIXED:
    case CONST_DOUBLE:
    case CONST_VECTOR:
    case CONST:
    case REG:
    case SUBREG:
    case MEM:
    case LABEL_REF:
    case SYMBOL_REF:
    case HIGH:
      res = split_12 (x1, insn);
      if (res != NULL_RTX)
        return res;
      break;

    case FLOAT_EXTEND:
      res = split_13 (x1, insn);
      if (res != NULL_RTX)
        return res;
      break;

    case ZERO_EXTEND:
      res = split_14 (x1, insn);
      if (res != NULL_RTX)
        return res;
      break;

    case FLOAT_TRUNCATE:
      if (GET_MODE (x2) == SFmode)
        {
          x3 = XEXP (x1, 0);
          operands[0] = x3;
          if (sse_reg_operand (operands[0], SFmode))
            {
              x4 = XEXP (x2, 0);
              operands[1] = x4;
              if (nonimmediate_operand (operands[1], DFmode))
                {
                  if (
#line 4462 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_VECTOR_FP_CONVERTS
   && optimize_insn_for_speed_p ()
   && reload_completed
   && (!EXT_REX_SSE_REG_P (operands[0])
       || TARGET_AVX512VL)))
                    return gen_split_61 (insn, operands);
                  if (
#line 5276 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_SSE_PARTIAL_REG_DEPENDENCY && epilogue_completed
   && optimize_function_for_speed_p (cfun)
   && (!REG_P (operands[1])
       || REGNO (operands[0]) != REGNO (operands[1]))
   && (!EXT_REX_SSE_REG_P (operands[0])
       || TARGET_AVX512VL)))
                    return gen_split_93 (insn, operands);
                }
            }
        }
      break;

    case FIX:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XEXP (x2, 0);
      operands[1] = x4;
      if (register_operand (operands[1], VOIDmode))
        {
          switch (GET_MODE (operands[0]))
            {
            case HImode:
              if (nonimmediate_operand (operands[0], HImode)
                  && GET_MODE (x2) == HImode
                  && (
#line 4878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 4885 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( 1)))
                return gen_split_69 (insn, operands);
              break;

            case SImode:
              if (nonimmediate_operand (operands[0], SImode)
                  && GET_MODE (x2) == SImode
                  && (
#line 4878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 4885 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( 1)))
                return gen_split_70 (insn, operands);
              break;

            case DImode:
              if (nonimmediate_operand (operands[0], DImode)
                  && GET_MODE (x2) == DImode
                  && (
#line 4878 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 4885 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( 1)))
                return gen_split_71 (insn, operands);
              break;

            default:
              break;
            }
        }
      break;

    case FLOAT:
      res = split_15 (x1, insn);
      if (res != NULL_RTX)
        return res;
      break;

    case PLUS:
      res = split_16 (x1, insn);
      if (res != NULL_RTX)
        return res;
      break;

    case IOR:
      x4 = XEXP (x2, 0);
      if (GET_CODE (x4) == ASHIFT)
        {
          x3 = XEXP (x1, 0);
          operands[0] = x3;
          switch (pattern63 (x2))
            {
            case 0:
              if ((
#line 6423 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   && ((unsigned HOST_WIDE_INT) INTVAL (operands[3])
       < (HOST_WIDE_INT_1U << INTVAL (operands[2])))) && 
#line 6427 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
                return gen_split_126 (insn, operands);
              break;

            case 1:
              if ((
#line 6423 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   && ((unsigned HOST_WIDE_INT) INTVAL (operands[3])
       < (HOST_WIDE_INT_1U << INTVAL (operands[2])))) && 
#line 6427 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
                return gen_split_128 (insn, operands);
              break;

            default:
              break;
            }
        }
      break;

    case XOR:
      x4 = XEXP (x2, 0);
      if (GET_CODE (x4) == ASHIFT)
        {
          x3 = XEXP (x1, 0);
          operands[0] = x3;
          switch (pattern63 (x2))
            {
            case 0:
              if ((
#line 6423 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   && ((unsigned HOST_WIDE_INT) INTVAL (operands[3])
       < (HOST_WIDE_INT_1U << INTVAL (operands[2])))) && 
#line 6427 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
                return gen_split_127 (insn, operands);
              break;

            case 1:
              if ((
#line 6423 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
   && ((unsigned HOST_WIDE_INT) INTVAL (operands[3])
       < (HOST_WIDE_INT_1U << INTVAL (operands[2])))) && 
#line 6427 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
                return gen_split_129 (insn, operands);
              break;

            default:
              break;
            }
        }
      break;

    case UNSPEC:
      res = split_17 (x1, insn);
      if (res != NULL_RTX)
        return res;
      break;

    case NE:
      switch (pattern29 (x1))
        {
        case 0:
          return gen_split_264 (insn, operands);

        case 1:
          return gen_split_265 (insn, operands);

        default:
          break;
        }
      break;

    case EQ:
      switch (pattern29 (x1))
        {
        case 0:
          return gen_split_266 (insn, operands);

        case 1:
          return gen_split_267 (insn, operands);

        default:
          break;
        }
      break;

    case IF_THEN_ELSE:
      res = split_19 (x1, insn);
      if (res != NULL_RTX)
        return res;
      break;

    case VEC_SELECT:
      res = split_23 (x1, insn);
      if (res != NULL_RTX)
        return res;
      break;

    case VEC_MERGE:
      res = split_24 (x1, insn);
      if (res != NULL_RTX)
        return res;
      break;

    case VEC_CONCAT:
      res = split_25 (x1, insn);
      if (res != NULL_RTX)
        return res;
      break;

    case VEC_DUPLICATE:
      res = split_26 (x1, insn);
      if (res != NULL_RTX)
        return res;
      break;

    default:
      break;
    }
  x3 = XEXP (x1, 0);
  operands[0] = x3;
  operands[1] = x2;
  switch (GET_MODE (operands[0]))
    {
    case SImode:
      if (register_operand (operands[0], SImode)
          && address_no_seg_operand (operands[1], SImode)
          && 
#line 5466 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed && ix86_avoid_lea_for_addr (insn, operands)))
        return gen_split_104 (insn, operands);
      break;

    case DImode:
      if (register_operand (operands[0], DImode)
          && address_no_seg_operand (operands[1], DImode)
          && (
#line 5466 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed && ix86_avoid_lea_for_addr (insn, operands)) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
        return gen_split_105 (insn, operands);
      break;

    default:
      break;
    }
  switch (GET_CODE (x2))
    {
    case IOR:
      x4 = XEXP (x2, 0);
      if (GET_CODE (x4) != ASHIFT)
        return NULL;
      switch (pattern72 (x2))
        {
        case 0:
          if (!(
#line 6447 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((unsigned HOST_WIDE_INT) INTVAL (operands[3])
   < (HOST_WIDE_INT_1U << INTVAL (operands[2]))) && 
#line 6450 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
            return NULL;
          return gen_split_130 (insn, operands);

        case 1:
          if (!((
#line 6447 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((unsigned HOST_WIDE_INT) INTVAL (operands[3])
   < (HOST_WIDE_INT_1U << INTVAL (operands[2]))) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)) && 
#line 6450 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
            return NULL;
          return gen_split_132 (insn, operands);

        default:
          return NULL;
        }

    case XOR:
      x4 = XEXP (x2, 0);
      if (GET_CODE (x4) != ASHIFT)
        return NULL;
      switch (pattern72 (x2))
        {
        case 0:
          if (!(
#line 6447 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((unsigned HOST_WIDE_INT) INTVAL (operands[3])
   < (HOST_WIDE_INT_1U << INTVAL (operands[2]))) && 
#line 6450 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
            return NULL;
          return gen_split_131 (insn, operands);

        case 1:
          if (!((
#line 6447 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((unsigned HOST_WIDE_INT) INTVAL (operands[3])
   < (HOST_WIDE_INT_1U << INTVAL (operands[2]))) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)) && 
#line 6450 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
            return NULL;
          return gen_split_133 (insn, operands);

        default:
          return NULL;
        }

    case COMPARE:
      operands[1] = x2;
      if (!compare_operator (operands[1], VOIDmode))
        return NULL;
      x5 = XEXP (x2, 1);
      if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
          || !flags_reg_operand (operands[0], VOIDmode))
        return NULL;
      x4 = XEXP (x2, 0);
      switch (GET_CODE (x4))
        {
        case ZERO_EXTRACT:
          x6 = XEXP (x4, 0);
          operands[2] = x6;
          if (!nonimmediate_operand (operands[2], VOIDmode))
            return NULL;
          x7 = XEXP (x4, 1);
          operands[3] = x7;
          if (!const_int_operand (operands[3], VOIDmode))
            return NULL;
          x8 = XEXP (x4, 2);
          operands[4] = x8;
          if (!const_int_operand (operands[4], VOIDmode))
            return NULL;
          switch (GET_MODE (x4))
            {
            case HImode:
              if (!(
#line 7998 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && ((TARGET_64BIT && GET_MODE (operands[2]) == DImode)
       || GET_MODE (operands[2]) == SImode
       || GET_MODE (operands[2]) == HImode
       || GET_MODE (operands[2]) == QImode)
   /* Ensure that resulting mask is zero or sign extended operand.  */
   && INTVAL (operands[4]) >= 0
   && ((INTVAL (operands[3]) > 0
	&& INTVAL (operands[3]) + INTVAL (operands[4]) <= 32)
       || (HImode == DImode
	   && INTVAL (operands[3]) > 32
	   && INTVAL (operands[3]) + INTVAL (operands[4]) == 64))) && 
#line 8011 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( 1)))
                return NULL;
              return gen_split_154 (insn, operands);

            case SImode:
              if (!(
#line 7998 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && ((TARGET_64BIT && GET_MODE (operands[2]) == DImode)
       || GET_MODE (operands[2]) == SImode
       || GET_MODE (operands[2]) == HImode
       || GET_MODE (operands[2]) == QImode)
   /* Ensure that resulting mask is zero or sign extended operand.  */
   && INTVAL (operands[4]) >= 0
   && ((INTVAL (operands[3]) > 0
	&& INTVAL (operands[3]) + INTVAL (operands[4]) <= 32)
       || (SImode == DImode
	   && INTVAL (operands[3]) > 32
	   && INTVAL (operands[3]) + INTVAL (operands[4]) == 64))) && 
#line 8011 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( 1)))
                return NULL;
              return gen_split_155 (insn, operands);

            case DImode:
              if (!((
#line 7998 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && ((TARGET_64BIT && GET_MODE (operands[2]) == DImode)
       || GET_MODE (operands[2]) == SImode
       || GET_MODE (operands[2]) == HImode
       || GET_MODE (operands[2]) == QImode)
   /* Ensure that resulting mask is zero or sign extended operand.  */
   && INTVAL (operands[4]) >= 0
   && ((INTVAL (operands[3]) > 0
	&& INTVAL (operands[3]) + INTVAL (operands[4]) <= 32)
       || (DImode == DImode
	   && INTVAL (operands[3]) > 32
	   && INTVAL (operands[3]) + INTVAL (operands[4]) == 64))) && 
#line 986 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)) && 
#line 8011 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( 1)))
                return NULL;
              return gen_split_156 (insn, operands);

            default:
              return NULL;
            }

        case AND:
          x6 = XEXP (x4, 0);
          operands[2] = x6;
          x7 = XEXP (x4, 1);
          operands[3] = x7;
          if (const_int_operand (operands[3], VOIDmode))
            {
              if (QIreg_operand (operands[2], VOIDmode)
                  && 
#line 8058 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed
    && 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_157 (insn, operands);
              if (nonimmediate_operand (operands[2], VOIDmode)
                  && 
#line 8084 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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_158 (insn, operands);
            }
          if (!const_int_operand (operands[3], HImode)
              || !aligned_operand (operands[2], HImode)
              || !
#line 17693 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 NULL;
          return gen_split_357 (insn, operands);

        default:
          return NULL;
        }

    case NOT:
      if (GET_MODE (x2) == DImode
          && nonimmediate_operand (operands[0], DImode))
        {
          x4 = XEXP (x2, 0);
          operands[1] = x4;
          if (nonimmediate_operand (operands[1], DImode)
              && (
#line 9398 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_STV && TARGET_SSE2
   && ix86_unary_operator_ok (NOT, DImode, operands)) && 
#line 9401 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
            return gen_split_207 (insn, operands);
        }
      if (!general_reg_operand (operands[0], VOIDmode))
        return NULL;
      x4 = XEXP (x2, 0);
      operands[1] = x4;
      if (!general_reg_operand (operands[1], VOIDmode)
          || !
#line 17729 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 NULL;
      return gen_split_359 (insn, operands);

    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:
      operands[1] = x2;
      x4 = XEXP (x2, 0);
      if (GET_CODE (x4) != REG
          || REGNO (x4) != 17)
        return NULL;
      x5 = XEXP (x2, 1);
      if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return NULL;
      switch (pattern295 ())
        {
        case 0:
          if (!(
#line 11152 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && !TARGET_PARTIAL_REG_STALL) && 
#line 11154 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
            return NULL;
          return gen_split_261 (insn, operands);

        case 1:
          if (!(
#line 11185 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_PARTIAL_REG_STALL
   && (!TARGET_ZERO_EXTEND_WITH_AND || optimize_function_for_size_p (cfun))) && 
#line 11188 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
            return NULL;
          return gen_split_263 (insn, operands);

        default:
          return NULL;
        }

    case UNSPEC:
      if (XVECLEN (x2, 0) != 1
          || XINT (x2, 1) != 57)
        return NULL;
      x9 = XVECEXP (x2, 0, 0);
      operands[1] = x9;
      if (!register_operand (operands[1], XFmode))
        return NULL;
      switch (GET_MODE (operands[0]))
        {
        case DImode:
          if (!nonimmediate_operand (operands[0], DImode)
              || GET_MODE (x2) != DImode
              || !(
#line 15559 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && can_create_pseudo_p ()) && 
#line 15562 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( 1)))
            return NULL;
          return gen_split_308 (insn, operands);

        case SImode:
          if (!register_operand (operands[0], SImode)
              || GET_MODE (x2) != SImode
              || !(
#line 15624 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_USE_FANCY_MATH_387
   && can_create_pseudo_p ()) && 
#line 15627 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( 1)))
            return NULL;
          return gen_split_312 (insn, operands);

        default:
          return NULL;
        }

    case IF_THEN_ELSE:
      x4 = XEXP (x2, 0);
      if (!ix86_comparison_operator (x4, VOIDmode))
        return NULL;
      operands[1] = x4;
      x6 = XEXP (x4, 0);
      if (GET_CODE (x6) != REG
          || REGNO (x6) != 17)
        return NULL;
      x7 = XEXP (x4, 1);
      if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return NULL;
      switch (pattern396 (x2))
        {
        case 0:
          if (!
#line 17099 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_CMOVE
   && TARGET_AVOID_MEM_OPND_FOR_CMOVE
   && (MEM_P (operands[2]) || MEM_P (operands[3]))
   && can_create_pseudo_p ()
   && optimize_insn_for_speed_p ()))
            return NULL;
          return gen_split_348 (insn, operands);

        case 1:
          if (!(
#line 17099 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_CMOVE
   && TARGET_AVOID_MEM_OPND_FOR_CMOVE
   && (MEM_P (operands[2]) || MEM_P (operands[3]))
   && can_create_pseudo_p ()
   && optimize_insn_for_speed_p ()) && 
#line 986 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return NULL;
          return gen_split_349 (insn, operands);

        default:
          return NULL;
        }

    case VEC_SELECT:
      x5 = XEXP (x2, 1);
      if (GET_CODE (x5) != PARALLEL
          || XVECLEN (x5, 0) != 1)
        return NULL;
      x10 = XVECEXP (x5, 0, 0);
      if (GET_CODE (x10) != CONST_INT)
        return NULL;
      x4 = XEXP (x2, 0);
      operands[1] = x4;
      switch (XWINT (x10, 0))
        {
        case 0LL:
          switch (GET_MODE (operands[0]))
            {
            case SImode:
              if (nonimmediate_operand (operands[0], SImode)
                  && GET_MODE (x2) == SImode)
                {
                  switch (GET_MODE (operands[1]))
                    {
                    case V2SImode:
                      if (nonimmediate_operand (operands[1], V2SImode)
                          && (
#line 1294 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX && !(MEM_P (operands[0]) && MEM_P (operands[1]))) && 
#line 1296 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
( reload_completed)))
                        return gen_split_367 (insn, operands);
                      break;

                    case V4SImode:
                      if (register_operand (operands[1], V4SImode)
                          && 
#line 13538 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && reload_completed))
                        return gen_split_418 (insn, operands);
                      break;

                    default:
                      break;
                    }
                }
              break;

            case DImode:
              if (nonimmediate_operand (operands[0], DImode)
                  && GET_MODE (x2) == DImode
                  && register_operand (operands[1], V2DImode)
                  && 
#line 13538 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && reload_completed))
                return gen_split_419 (insn, operands);
              break;

            default:
              break;
            }
          break;

        case 1LL:
          if (register_operand (operands[0], SImode)
              && GET_MODE (x2) == SImode
              && memory_operand (operands[1], V2SImode)
              && 
#line 1329 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_MMX && reload_completed))
            return gen_split_368 (insn, operands);
          break;

        default:
          break;
        }
      operands[2] = x10;
      switch (GET_MODE (operands[0]))
        {
        case SImode:
          if (!register_operand (operands[0], SImode)
              || GET_MODE (x2) != SImode
              || !memory_operand (operands[1], V4SImode)
              || !const_0_to_3_operand (operands[2], VOIDmode)
              || !
#line 13708 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && reload_completed))
            return NULL;
          return gen_split_424 (insn, operands);

        case DImode:
          if (!register_operand (operands[0], DImode)
              || GET_MODE (x2) != DImode
              || !memory_operand (operands[1], V2DImode)
              || !const_0_to_1_operand (operands[2], VOIDmode)
              || !
#line 13708 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE && reload_completed))
            return NULL;
          return gen_split_425 (insn, operands);

        default:
          return NULL;
        }

    case ZERO_EXTEND:
      if (GET_MODE (x2) != DImode)
        return NULL;
      x4 = XEXP (x2, 0);
      if (GET_CODE (x4) != VEC_SELECT
          || GET_MODE (x4) != SImode)
        return NULL;
      x7 = XEXP (x4, 1);
      if (GET_CODE (x7) != PARALLEL
          || XVECLEN (x7, 0) != 1)
        return NULL;
      x11 = XVECEXP (x7, 0, 0);
      if (GET_CODE (x11) != CONST_INT)
        return NULL;
      operands[2] = x11;
      if (const_0_to_1_operand (operands[2], SImode)
          && register_operand (operands[0], DImode))
        {
          x6 = XEXP (x4, 0);
          operands[1] = x6;
          if (memory_operand (operands[1], V2SImode)
              && (
#line 1339 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
(TARGET_64BIT && TARGET_MMX) && 
#line 1341 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/mmx.md"
( reload_completed)))
            return gen_split_369 (insn, operands);
        }
      if (!register_operand (operands[0], DImode))
        return NULL;
      x6 = XEXP (x4, 0);
      operands[1] = x6;
      if (register_operand (operands[1], V4SImode)
          && XWINT (x11, 0) == 0LL
          && 
#line 13567 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && reload_completed))
        return gen_split_420 (insn, operands);
      if (!memory_operand (operands[1], V4SImode))
        return NULL;
      operands[2] = x11;
      if (!const_0_to_3_operand (operands[2], SImode)
          || !(
#line 13637 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_64BIT && TARGET_SSE) && 
#line 13639 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
( reload_completed)))
        return NULL;
      return gen_split_421 (insn, operands);

    case SUBREG:
      if (XINT (x2, 1) != 0)
        return NULL;
      x4 = XEXP (x2, 0);
      operands[1] = x4;
      if (!register_operand (operands[1], VOIDmode))
        return NULL;
      switch (pattern158 (x2))
        {
        case 0:
          if (!
#line 13721 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(can_create_pseudo_p ()
   && REG_P (operands[1])
   && VECTOR_MODE_P (GET_MODE (operands[1]))
   && ((TARGET_SSE && GET_MODE_SIZE (GET_MODE (operands[1])) == 16)
       || (TARGET_AVX && GET_MODE_SIZE (GET_MODE (operands[1])) == 32)
       || (TARGET_AVX512F && GET_MODE_SIZE (GET_MODE (operands[1])) == 64))
   && (SImode == SImode || TARGET_64BIT || MEM_P (operands[0]))))
            return NULL;
          return gen_split_426 (insn, operands);

        case 1:
          if (!
#line 13721 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(can_create_pseudo_p ()
   && REG_P (operands[1])
   && VECTOR_MODE_P (GET_MODE (operands[1]))
   && ((TARGET_SSE && GET_MODE_SIZE (GET_MODE (operands[1])) == 16)
       || (TARGET_AVX && GET_MODE_SIZE (GET_MODE (operands[1])) == 32)
       || (TARGET_AVX512F && GET_MODE_SIZE (GET_MODE (operands[1])) == 64))
   && (DImode == SImode || TARGET_64BIT || MEM_P (operands[0]))))
            return NULL;
          return gen_split_427 (insn, operands);

        default:
          return NULL;
        }

    default:
      return NULL;
    }
}

rtx_insn *
split_insns (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx_insn *res ATTRIBUTE_UNUSED;
  recog_data.insn = NULL;
  switch (GET_CODE (x1))
    {
    case PARALLEL:
      switch (XVECLEN (x1, 0))
        {
        case 2:
          return split_9 (x1, insn);

        case 3:
          return split_10 (x1, insn);

        case 4:
          x2 = XVECEXP (x1, 0, 0);
          if (GET_CODE (x2) != SET)
            return NULL;
          x3 = XVECEXP (x1, 0, 3);
          if (GET_CODE (x3) != CLOBBER)
            return NULL;
          x4 = XEXP (x2, 1);
          switch (GET_CODE (x4))
            {
            case UNSIGNED_FIX:
              switch (pattern190 (x1))
                {
                case 0:
                  if (!(
#line 4823 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_SSE2 && TARGET_SSE_MATH
   && optimize_function_for_speed_p (cfun)) && 
#line 4826 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
                    return NULL;
                  return gen_split_67 (insn, operands);

                case 1:
                  if (!(
#line 4823 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && TARGET_SSE2 && TARGET_SSE_MATH
   && optimize_function_for_speed_p (cfun)) && 
#line 4826 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
                    return NULL;
                  return gen_split_68 (insn, operands);

                default:
                  return NULL;
                }

            case FIX:
              x5 = XVECEXP (x1, 0, 1);
              if (GET_CODE (x5) != USE)
                return NULL;
              x6 = XVECEXP (x1, 0, 2);
              if (GET_CODE (x6) != USE)
                return NULL;
              x7 = XEXP (x2, 0);
              operands[0] = x7;
              x8 = XEXP (x4, 0);
              operands[1] = x8;
              if (!register_operand (operands[1], VOIDmode))
                return NULL;
              switch (pattern339 (x1))
                {
                case 0:
                  if (register_operand (operands[0], HImode)
                      && 
#line 5075 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
                    return gen_split_83 (insn, operands);
                  if (!memory_operand (operands[0], HImode)
                      || !
#line 5087 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
                    return NULL;
                  return gen_split_85 (insn, operands);

                case 1:
                  if (register_operand (operands[0], SImode)
                      && 
#line 5075 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
                    return gen_split_84 (insn, operands);
                  if (!memory_operand (operands[0], SImode)
                      || !
#line 5087 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
                    return NULL;
                  return gen_split_86 (insn, operands);

                default:
                  return NULL;
                }

            case FLOAT:
              x5 = XVECEXP (x1, 0, 1);
              if (GET_CODE (x5) != CLOBBER)
                return NULL;
              x6 = XVECEXP (x1, 0, 2);
              if (GET_CODE (x6) != CLOBBER)
                return NULL;
              x7 = XEXP (x2, 0);
              operands[0] = x7;
              x8 = XEXP (x4, 0);
              operands[1] = x8;
              x9 = XEXP (x5, 0);
              operands[3] = x9;
              if (!scratch_operand (operands[3], V4SImode))
                return NULL;
              x10 = XEXP (x6, 0);
              operands[4] = x10;
              if (!scratch_operand (operands[4], V4SImode))
                return NULL;
              x11 = XEXP (x3, 0);
              operands[2] = x11;
              if (!memory_operand (operands[2], DImode))
                return NULL;
              switch (GET_MODE (operands[0]))
                {
                case SFmode:
                  if (!fp_register_operand (operands[0], SFmode)
                      || GET_MODE (x4) != SFmode)
                    return NULL;
                  if (register_operand (operands[1], DImode)
                      && 
#line 5345 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && X87_ENABLE_FLOAT (SFmode, DImode)
   && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES_TO_VEC
   && !TARGET_64BIT && optimize_function_for_speed_p (cfun)
   && reload_completed))
                    return gen_split_95 (insn, operands);
                  if (!memory_operand (operands[1], DImode)
                      || !
#line 5370 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && X87_ENABLE_FLOAT (SFmode, DImode)
   && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES_TO_VEC
   && !TARGET_64BIT && optimize_function_for_speed_p (cfun)
   && reload_completed))
                    return NULL;
                  return gen_split_98 (insn, operands);

                case DFmode:
                  if (!fp_register_operand (operands[0], DFmode)
                      || GET_MODE (x4) != DFmode)
                    return NULL;
                  if (register_operand (operands[1], DImode)
                      && 
#line 5345 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && X87_ENABLE_FLOAT (DFmode, DImode)
   && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES_TO_VEC
   && !TARGET_64BIT && optimize_function_for_speed_p (cfun)
   && reload_completed))
                    return gen_split_96 (insn, operands);
                  if (!memory_operand (operands[1], DImode)
                      || !
#line 5370 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && X87_ENABLE_FLOAT (DFmode, DImode)
   && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES_TO_VEC
   && !TARGET_64BIT && optimize_function_for_speed_p (cfun)
   && reload_completed))
                    return NULL;
                  return gen_split_99 (insn, operands);

                case XFmode:
                  if (!fp_register_operand (operands[0], XFmode)
                      || GET_MODE (x4) != XFmode)
                    return NULL;
                  if (register_operand (operands[1], DImode)
                      && 
#line 5345 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && X87_ENABLE_FLOAT (XFmode, DImode)
   && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES_TO_VEC
   && !TARGET_64BIT && optimize_function_for_speed_p (cfun)
   && reload_completed))
                    return gen_split_97 (insn, operands);
                  if (!memory_operand (operands[1], DImode)
                      || !
#line 5370 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && X87_ENABLE_FLOAT (XFmode, DImode)
   && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES_TO_VEC
   && !TARGET_64BIT && optimize_function_for_speed_p (cfun)
   && reload_completed))
                    return NULL;
                  return gen_split_100 (insn, operands);

                default:
                  return NULL;
                }

            case DIV:
              switch (pattern198 (x1, MOD))
                {
                case 0:
                  if (!
#line 7539 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
                    return NULL;
                  return gen_split_140 (insn, operands);

                case 1:
                  if (!(
#line 7539 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                    return NULL;
                  return gen_split_141 (insn, operands);

                default:
                  return NULL;
                }

            case UDIV:
              switch (pattern198 (x1, UMOD))
                {
                case 0:
                  if (!
#line 7712 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
                    return NULL;
                  return gen_split_147 (insn, operands);

                case 1:
                  if (!(
#line 7712 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                    return NULL;
                  return gen_split_148 (insn, operands);

                default:
                  return NULL;
                }

            case IF_THEN_ELSE:
              switch (pattern196 (x1))
                {
                case 0:
                  if (!ix86_fp_comparison_operator (operands[0], VOIDmode))
                    return NULL;
                  x8 = XEXP (x4, 0);
                  x12 = XEXP (x8, 1);
                  operands[2] = x12;
                  x13 = XEXP (x4, 1);
                  operands[3] = x13;
                  x14 = XEXP (x4, 2);
                  operands[4] = x14;
                  x11 = XEXP (x3, 0);
                  operands[5] = x11;
                  switch (GET_MODE (operands[1]))
                    {
                    case SFmode:
                      if (!register_operand (operands[1], SFmode)
                          || !general_operand (operands[2], SFmode)
                          || !
#line 11535 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE
   && reload_completed))
                        return NULL;
                      return gen_split_273 (insn, operands);

                    case DFmode:
                      if (!register_operand (operands[1], DFmode)
                          || !general_operand (operands[2], DFmode)
                          || !
#line 11535 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE
   && reload_completed))
                        return NULL;
                      return gen_split_274 (insn, operands);

                    case XFmode:
                      if (!register_operand (operands[1], XFmode)
                          || !general_operand (operands[2], XFmode)
                          || !
#line 11535 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE
   && reload_completed))
                        return NULL;
                      return gen_split_275 (insn, operands);

                    default:
                      return NULL;
                    }

                case 1:
                  if (!ix86_swapped_fp_comparison_operator (operands[0], CCFPmode))
                    return NULL;
                  x8 = XEXP (x4, 0);
                  x15 = XEXP (x8, 0);
                  x16 = XEXP (x15, 0);
                  operands[2] = x16;
                  x12 = XEXP (x8, 1);
                  operands[3] = x12;
                  x13 = XEXP (x4, 1);
                  operands[4] = x13;
                  x14 = XEXP (x4, 2);
                  operands[5] = x14;
                  x11 = XEXP (x3, 0);
                  operands[6] = x11;
                  switch (GET_MODE (operands[1]))
                    {
                    case SFmode:
                      switch (pattern940 (SFmode))
                        {
                        case 0:
                          if (!
#line 11595 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE
   && reload_completed))
                            return NULL;
                          return gen_split_276 (insn, operands);

                        case 1:
                          if (!
#line 11595 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE
   && reload_completed))
                            return NULL;
                          return gen_split_279 (insn, operands);

                        default:
                          return NULL;
                        }

                    case DFmode:
                      switch (pattern940 (DFmode))
                        {
                        case 0:
                          if (!
#line 11595 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE
   && reload_completed))
                            return NULL;
                          return gen_split_277 (insn, operands);

                        case 1:
                          if (!
#line 11595 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE
   && reload_completed))
                            return NULL;
                          return gen_split_280 (insn, operands);

                        default:
                          return NULL;
                        }

                    case XFmode:
                      switch (pattern940 (XFmode))
                        {
                        case 0:
                          if (!
#line 11595 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE
   && reload_completed))
                            return NULL;
                          return gen_split_278 (insn, operands);

                        case 1:
                          if (!
#line 11595 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_80387 && !TARGET_CMOVE
   && reload_completed))
                            return NULL;
                          return gen_split_281 (insn, operands);

                        default:
                          return NULL;
                        }

                    default:
                      return NULL;
                    }

                default:
                  return NULL;
                }

            case UNSPEC:
              if (XVECLEN (x4, 0) != 1)
                return NULL;
              switch (XINT (x4, 1))
                {
                case 28:
                  if (pattern332 (x1) != 0
                      || !(
#line 13452 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(! TARGET_POPCNT) && 
#line 13454 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
( reload_completed)))
                    return NULL;
                  return gen_split_297 (insn, operands);

                case 65:
                  switch (pattern340 (x1))
                    {
                    case 0:
                      if (register_operand (operands[0], HImode)
                          && 
#line 16028 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
                        return gen_split_337 (insn, operands);
                      if (!memory_operand (operands[0], HImode)
                          || !
#line 16042 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
                        return NULL;
                      return gen_split_341 (insn, operands);

                    case 1:
                      if (register_operand (operands[0], SImode)
                          && 
#line 16028 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
                        return gen_split_339 (insn, operands);
                      if (!memory_operand (operands[0], SImode)
                          || !
#line 16042 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
                        return NULL;
                      return gen_split_343 (insn, operands);

                    default:
                      return NULL;
                    }

                case 66:
                  switch (pattern340 (x1))
                    {
                    case 0:
                      if (register_operand (operands[0], HImode)
                          && 
#line 16028 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
                        return gen_split_338 (insn, operands);
                      if (!memory_operand (operands[0], HImode)
                          || !
#line 16042 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
                        return NULL;
                      return gen_split_342 (insn, operands);

                    case 1:
                      if (register_operand (operands[0], SImode)
                          && 
#line 16028 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
                        return gen_split_340 (insn, operands);
                      if (!memory_operand (operands[0], SImode)
                          || !
#line 16042 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
                        return NULL;
                      return gen_split_344 (insn, operands);

                    default:
                      return NULL;
                    }

                default:
                  return NULL;
                }

            case PLUS:
              if (pattern197 (x1) != 0)
                return NULL;
              return gen_split_299 (insn, operands);

            default:
              return NULL;
            }

        case 5:
          x2 = XVECEXP (x1, 0, 0);
          if (GET_CODE (x2) != SET
              || pattern43 (x1) != 0)
            return NULL;
          x4 = XEXP (x2, 1);
          if (GET_MODE (x4) != DImode
              || pattern459 (x1, VOIDmode) != 0)
            return NULL;
          switch (GET_CODE (x4))
            {
            case FIX:
              x8 = XEXP (x4, 0);
              operands[1] = x8;
              if (!register_operand (operands[1], VOIDmode))
                return NULL;
              if (register_operand (operands[0], DImode)
                  && 
#line 5022 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
                return gen_split_81 (insn, operands);
              if (!memory_operand (operands[0], DImode)
                  || !
#line 5036 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
                return NULL;
              return gen_split_82 (insn, operands);

            case UNSPEC:
              if (XVECLEN (x4, 0) != 1)
                return NULL;
              x17 = XVECEXP (x4, 0, 0);
              operands[1] = x17;
              if (!register_operand (operands[1], XFmode))
                return NULL;
              switch (XINT (x4, 1))
                {
                case 65:
                  if (register_operand (operands[0], DImode)
                      && 
#line 15971 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
                    return gen_split_333 (insn, operands);
                  if (!memory_operand (operands[0], DImode)
                      || !
#line 15987 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
                    return NULL;
                  return gen_split_335 (insn, operands);

                case 66:
                  if (register_operand (operands[0], DImode)
                      && 
#line 15971 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
                    return gen_split_334 (insn, operands);
                  if (!memory_operand (operands[0], DImode)
                      || !
#line 15987 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(reload_completed))
                    return NULL;
                  return gen_split_336 (insn, operands);

                default:
                  return NULL;
                }

            default:
              return NULL;
            }

        default:
          return NULL;
        }

    case SET:
      return split_27 (x1, insn);

    case EH_RETURN:
      if (!
#line 12539 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(epilogue_completed))
        return NULL;
      return gen_split_282 (insn, operands);

    default:
      return NULL;
    }
}

static rtx_insn *
peephole2_1 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pmatch_len_ ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) != SUBREG
      || XINT (x2, 1) != 0
      || GET_MODE (x2) != QImode)
    return NULL;
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != ZERO_EXTRACT
      || GET_MODE (x3) != SImode)
    return NULL;
  x4 = XEXP (x3, 1);
  if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    return NULL;
  x5 = XEXP (x3, 2);
  if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    return NULL;
  x6 = XEXP (x1, 0);
  operands[0] = x6;
  if (!register_operand (operands[0], QImode))
    return NULL;
  x7 = XEXP (x3, 0);
  operands[1] = x7;
  if (!ext_register_operand (operands[1], VOIDmode))
    return NULL;
  x8 = PATTERN (peep2_next_insn (1));
  if (GET_CODE (x8) != SET)
    return NULL;
  x9 = XEXP (x8, 0);
  operands[2] = x9;
  if (!norex_memory_operand (operands[2], QImode))
    return NULL;
  x10 = XEXP (x8, 1);
  if (!rtx_equal_p (x10, operands[0])
      || !
#line 2839 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT
   && peep2_reg_dead_p (2, operands[0])))
    return NULL;
  *pmatch_len_ = 1;
  return gen_peephole2_3 (insn, operands);
}

static rtx_insn *
peephole2_2 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pmatch_len_ ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = PATTERN (peep2_next_insn (1));
  if (GET_CODE (x2) != SET)
    return NULL;
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) != SUBREG
      || XINT (x3, 1) != 0
      || GET_MODE (x3) != SImode)
    return NULL;
  x4 = XEXP (x2, 0);
  if (GET_CODE (x4) != ZERO_EXTRACT
      || GET_MODE (x4) != SImode)
    return NULL;
  x5 = XEXP (x4, 1);
  if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    return NULL;
  x6 = XEXP (x4, 2);
  if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
    return NULL;
  x7 = XEXP (x4, 0);
  operands[2] = x7;
  if (!ext_register_operand (operands[2], VOIDmode))
    return NULL;
  x8 = XEXP (x3, 0);
  if (!rtx_equal_p (x8, operands[0])
      || !
#line 2928 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT
   && peep2_reg_dead_p (2, operands[0])))
    return NULL;
  *pmatch_len_ = 1;
  return gen_peephole2_4 (insn, operands);
}

static rtx_insn *
peephole2_3 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pmatch_len_ ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19, x20, x21, x22, x23, x24, x25;
  rtx x26, x27, x28, x29, x30, x31, x32, x33;
  rtx x34;
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (peep2_current_count >= 2)
    {
      res = peephole2_1 (x1, insn, pmatch_len_);
      if (res != NULL_RTX)
        return res;
    }
  x2 = XEXP (x1, 1);
  operands[1] = x2;
  x3 = XEXP (x1, 0);
  operands[0] = x3;
  switch (GET_CODE (operands[0]))
    {
    case REG:
    case SUBREG:
      if (peep2_current_count < 2)
        return NULL;
      switch (GET_MODE (operands[0]))
        {
        case QImode:
          if (!register_operand (operands[0], QImode))
            return NULL;
          if (norex_memory_operand (operands[1], QImode))
            {
              res = peephole2_2 (x1, insn, pmatch_len_);
              if (res != NULL_RTX)
                return res;
            }
          if (peep2_current_count < 3
              || peep2_current_count < 4)
            return NULL;
          x4 = PATTERN (peep2_next_insn (1));
          switch (pattern508 (x4, QImode))
            {
            case 0:
              if (nonmemory_operand (operands[2], QImode))
                {
                  x5 = XVECEXP (x4, 0, 0);
                  if (pattern956 (x5, QImode) == 0
                      && 
#line 18027 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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)
       || any_QIreg_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;
                      res = gen_peephole2_90 (insn, operands);
                      if (res != NULL_RTX)
                        return res;
                    }
                }
              if (!nonmemory_operand (operands[2], SImode))
                return NULL;
              x5 = XVECEXP (x4, 0, 0);
              if (pattern957 (x5) != 0
                  || !
#line 18125 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   && REGNO (operands[0]) == REGNO (operands[4])
   && peep2_reg_dead_p (4, operands[0])
   && (QImode != QImode
       || immediate_operand (operands[2], SImode)
       || any_QIreg_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)))
                return NULL;
              *pmatch_len_ = 3;
              return gen_peephole2_102 (insn, operands);

            case 1:
              if (!
#line 18061 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   && peep2_reg_dead_p (4, operands[3])
   && (rtx_equal_p (operands[0], operands[3])
       || peep2_reg_dead_p (2, operands[0]))
   && !reg_overlap_mentioned_p (operands[0], operands[1])
   && !reg_overlap_mentioned_p (operands[3], operands[1])
   && !reg_overlap_mentioned_p (operands[0], operands[2])
   && (QImode != QImode
       || immediate_operand (operands[2], QImode)
       || any_QIreg_operand (operands[2], QImode))
   && ix86_match_ccmode (peep2_next_insn (3), CCGOCmode)))
                return NULL;
              *pmatch_len_ = 3;
              return gen_peephole2_94 (insn, operands);

            default:
              return NULL;
            }

        case SImode:
          if (!register_operand (operands[0], SImode)
              || !memory_operand (operands[1], SImode))
            return NULL;
          x4 = PATTERN (peep2_next_insn (1));
          switch (GET_CODE (x4))
            {
            case CALL:
              x6 = XEXP (x4, 0);
              if (GET_CODE (x6) != MEM
                  || GET_MODE (x6) != QImode)
                return NULL;
              x7 = XEXP (x4, 1);
              operands[3] = x7;
              x8 = XEXP (x6, 0);
              if (!rtx_equal_p (x8, operands[0])
                  || !(
#line 11883 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_X32
   && !ix86_indirect_branch_register
   && SIBLING_CALL_P (peep2_next_insn (1))
   && !reg_mentioned_p (operands[0],
			CALL_INSN_FUNCTION_USAGE (peep2_next_insn (1)))) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode)))
                return NULL;
              *pmatch_len_ = 1;
              return gen_peephole2_26 (insn, operands);

            case UNSPEC_VOLATILE:
              if (pattern509 (x4) != 0)
                return NULL;
              x9 = PATTERN (peep2_next_insn (2));
              switch (GET_CODE (x9))
                {
                case CALL:
                  x10 = XEXP (x9, 0);
                  if (GET_CODE (x10) != MEM
                      || GET_MODE (x10) != QImode)
                    return NULL;
                  x11 = XEXP (x9, 1);
                  operands[3] = x11;
                  x12 = XEXP (x10, 0);
                  if (!rtx_equal_p (x12, operands[0])
                      || !(
#line 11898 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_X32
   && !ix86_indirect_branch_register
   && SIBLING_CALL_P (peep2_next_insn (2))
   && !reg_mentioned_p (operands[0],
			CALL_INSN_FUNCTION_USAGE (peep2_next_insn (2)))) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode)))
                    return NULL;
                  *pmatch_len_ = 2;
                  return gen_peephole2_28 (insn, operands);

                case PARALLEL:
                  if (XVECLEN (x9, 0) != 2)
                    return NULL;
                  x13 = XVECEXP (x9, 0, 1);
                  if (GET_CODE (x13) != SET)
                    return NULL;
                  x14 = XEXP (x13, 1);
                  if (GET_CODE (x14) != PLUS
                      || GET_MODE (x14) != SImode)
                    return NULL;
                  x15 = XEXP (x14, 0);
                  if (GET_CODE (x15) != REG
                      || REGNO (x15) != 7
                      || GET_MODE (x15) != SImode)
                    return NULL;
                  x16 = XEXP (x13, 0);
                  if (GET_CODE (x16) != REG
                      || REGNO (x16) != 7
                      || GET_MODE (x16) != SImode)
                    return NULL;
                  x17 = XEXP (x14, 1);
                  operands[4] = x17;
                  if (!immediate_operand (operands[4], SImode))
                    return NULL;
                  x18 = XVECEXP (x9, 0, 0);
                  switch (GET_CODE (x18))
                    {
                    case CALL:
                      x19 = XEXP (x18, 0);
                      if (GET_CODE (x19) != MEM
                          || GET_MODE (x19) != QImode)
                        return NULL;
                      x20 = XEXP (x18, 1);
                      operands[3] = x20;
                      x21 = XEXP (x19, 0);
                      if (!rtx_equal_p (x21, operands[0])
                          || !
#line 11979 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && SIBLING_CALL_P (peep2_next_insn (2))
   && !reg_mentioned_p (operands[0],
			CALL_INSN_FUNCTION_USAGE (peep2_next_insn (2)))))
                        return NULL;
                      *pmatch_len_ = 2;
                      return gen_peephole2_31 (insn, operands);

                    case SET:
                      x20 = XEXP (x18, 1);
                      if (GET_CODE (x20) != CALL)
                        return NULL;
                      x22 = XEXP (x20, 0);
                      if (GET_CODE (x22) != MEM
                          || GET_MODE (x22) != QImode)
                        return NULL;
                      x19 = XEXP (x18, 0);
                      operands[2] = x19;
                      x23 = XEXP (x20, 1);
                      operands[3] = x23;
                      x24 = XEXP (x22, 0);
                      if (!rtx_equal_p (x24, operands[0])
                          || !
#line 12195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && SIBLING_CALL_P (peep2_next_insn (2))
   && !reg_mentioned_p (operands[0],
			CALL_INSN_FUNCTION_USAGE (peep2_next_insn (2)))))
                        return NULL;
                      *pmatch_len_ = 2;
                      return gen_peephole2_39 (insn, operands);

                    default:
                      return NULL;
                    }

                case SET:
                  if (pattern722 (x9) != 0
                      || !(
#line 12106 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_X32
   && !ix86_indirect_branch_register
   && SIBLING_CALL_P (peep2_next_insn (2))
   && !reg_mentioned_p (operands[0],
			CALL_INSN_FUNCTION_USAGE (peep2_next_insn (2)))) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode)))
                    return NULL;
                  *pmatch_len_ = 2;
                  return gen_peephole2_36 (insn, operands);

                default:
                  return NULL;
                }

            case PARALLEL:
              if (XVECLEN (x4, 0) != 2)
                return NULL;
              x5 = XVECEXP (x4, 0, 0);
              switch (GET_CODE (x5))
                {
                case CALL:
                  x25 = XEXP (x5, 0);
                  if (GET_CODE (x25) != MEM
                      || GET_MODE (x25) != QImode)
                    return NULL;
                  x26 = XVECEXP (x4, 0, 1);
                  if (pattern693 (x26) != 0)
                    return NULL;
                  x27 = XEXP (x26, 0);
                  if (GET_CODE (x27) != REG
                      || REGNO (x27) != 7
                      || GET_MODE (x27) != SImode)
                    return NULL;
                  x28 = XEXP (x5, 1);
                  operands[3] = x28;
                  x29 = XEXP (x26, 1);
                  x30 = XEXP (x29, 1);
                  operands[4] = x30;
                  if (!immediate_operand (operands[4], SImode))
                    return NULL;
                  x31 = XEXP (x25, 0);
                  if (!rtx_equal_p (x31, operands[0])
                      || !
#line 11960 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && SIBLING_CALL_P (peep2_next_insn (1))
   && !reg_mentioned_p (operands[0],
			CALL_INSN_FUNCTION_USAGE (peep2_next_insn (1)))))
                    return NULL;
                  *pmatch_len_ = 1;
                  return gen_peephole2_30 (insn, operands);

                case SET:
                  x28 = XEXP (x5, 1);
                  switch (GET_CODE (x28))
                    {
                    case CALL:
                      x32 = XEXP (x28, 0);
                      if (GET_CODE (x32) != MEM
                          || GET_MODE (x32) != QImode)
                        return NULL;
                      x26 = XVECEXP (x4, 0, 1);
                      if (pattern693 (x26) != 0)
                        return NULL;
                      x27 = XEXP (x26, 0);
                      if (GET_CODE (x27) != REG
                          || REGNO (x27) != 7
                          || GET_MODE (x27) != SImode)
                        return NULL;
                      x25 = XEXP (x5, 0);
                      operands[2] = x25;
                      x33 = XEXP (x28, 1);
                      operands[3] = x33;
                      x29 = XEXP (x26, 1);
                      x30 = XEXP (x29, 1);
                      operands[4] = x30;
                      if (!immediate_operand (operands[4], SImode))
                        return NULL;
                      x34 = XEXP (x32, 0);
                      if (!rtx_equal_p (x34, operands[0])
                          || !
#line 12174 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT && SIBLING_CALL_P (peep2_next_insn (1))
   && !reg_mentioned_p (operands[0],
			CALL_INSN_FUNCTION_USAGE (peep2_next_insn (1)))))
                        return NULL;
                      *pmatch_len_ = 1;
                      return gen_peephole2_38 (insn, operands);

                    case PLUS:
                    case MINUS:
                    case AND:
                    case IOR:
                    case XOR:
                      if (peep2_current_count < 3
                          || peep2_current_count < 4)
                        return NULL;
                      operands[3] = x28;
                      if (!plusminuslogic_operator (operands[3], SImode)
                          || pattern748 (x4, SImode) != 0
                          || !
#line 18027 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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)
       || any_QIreg_operand (operands[2], QImode))
   && ix86_match_ccmode (peep2_next_insn (3),
			 (GET_CODE (operands[3]) == PLUS
			  || GET_CODE (operands[3]) == MINUS)
			 ? CCGOCmode : CCNOmode)))
                        return NULL;
                      *pmatch_len_ = 3;
                      return gen_peephole2_92 (insn, operands);

                    default:
                      return NULL;
                    }

                default:
                  return NULL;
                }

            case SET:
              switch (pattern510 (x4, SImode))
                {
                case 0:
                  if (!(
#line 11996 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_X32
   && !ix86_indirect_branch_register
   && peep2_reg_dead_p (2, operands[0])) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode)))
                    return NULL;
                  *pmatch_len_ = 1;
                  return gen_peephole2_32 (insn, operands);

                case 1:
                  if (!(
#line 12089 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_X32
   && !ix86_indirect_branch_register
   && SIBLING_CALL_P (peep2_next_insn (1))
   && !reg_mentioned_p (operands[0],
			CALL_INSN_FUNCTION_USAGE (peep2_next_insn (1)))) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode)))
                    return NULL;
                  *pmatch_len_ = 1;
                  return gen_peephole2_34 (insn, operands);

                case 2:
                  if (!
#line 18061 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   && peep2_reg_dead_p (4, operands[3])
   && (rtx_equal_p (operands[0], operands[3])
       || peep2_reg_dead_p (2, operands[0]))
   && !reg_overlap_mentioned_p (operands[0], operands[1])
   && !reg_overlap_mentioned_p (operands[3], operands[1])
   && !reg_overlap_mentioned_p (operands[0], operands[2])
   && (SImode != QImode
       || immediate_operand (operands[2], QImode)
       || any_QIreg_operand (operands[2], QImode))
   && ix86_match_ccmode (peep2_next_insn (3), CCGOCmode)))
                    return NULL;
                  *pmatch_len_ = 3;
                  return gen_peephole2_96 (insn, operands);

                default:
                  return NULL;
                }

            default:
              return NULL;
            }

        case DImode:
          if (!register_operand (operands[0], DImode)
              || !memory_operand (operands[1], DImode))
            return NULL;
          x4 = PATTERN (peep2_next_insn (1));
          switch (GET_CODE (x4))
            {
            case CALL:
              x6 = XEXP (x4, 0);
              if (GET_CODE (x6) != MEM
                  || GET_MODE (x6) != QImode)
                return NULL;
              x7 = XEXP (x4, 1);
              operands[3] = x7;
              x8 = XEXP (x6, 0);
              if (!rtx_equal_p (x8, operands[0])
                  || !(
#line 11883 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_X32
   && !ix86_indirect_branch_register
   && SIBLING_CALL_P (peep2_next_insn (1))
   && !reg_mentioned_p (operands[0],
			CALL_INSN_FUNCTION_USAGE (peep2_next_insn (1)))) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode)))
                return NULL;
              *pmatch_len_ = 1;
              return gen_peephole2_27 (insn, operands);

            case UNSPEC_VOLATILE:
              if (pattern509 (x4) != 0)
                return NULL;
              x9 = PATTERN (peep2_next_insn (2));
              switch (GET_CODE (x9))
                {
                case CALL:
                  x10 = XEXP (x9, 0);
                  if (GET_CODE (x10) != MEM
                      || GET_MODE (x10) != QImode)
                    return NULL;
                  x11 = XEXP (x9, 1);
                  operands[3] = x11;
                  x12 = XEXP (x10, 0);
                  if (!rtx_equal_p (x12, operands[0])
                      || !(
#line 11898 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_X32
   && !ix86_indirect_branch_register
   && SIBLING_CALL_P (peep2_next_insn (2))
   && !reg_mentioned_p (operands[0],
			CALL_INSN_FUNCTION_USAGE (peep2_next_insn (2)))) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode)))
                    return NULL;
                  *pmatch_len_ = 2;
                  return gen_peephole2_29 (insn, operands);

                case SET:
                  if (pattern722 (x9) != 0
                      || !(
#line 12106 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_X32
   && !ix86_indirect_branch_register
   && SIBLING_CALL_P (peep2_next_insn (2))
   && !reg_mentioned_p (operands[0],
			CALL_INSN_FUNCTION_USAGE (peep2_next_insn (2)))) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode)))
                    return NULL;
                  *pmatch_len_ = 2;
                  return gen_peephole2_37 (insn, operands);

                default:
                  return NULL;
                }

            case SET:
              switch (pattern510 (x4, DImode))
                {
                case 0:
                  if (!(
#line 11996 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_X32
   && !ix86_indirect_branch_register
   && peep2_reg_dead_p (2, operands[0])) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode)))
                    return NULL;
                  *pmatch_len_ = 1;
                  return gen_peephole2_33 (insn, operands);

                case 1:
                  if (!(
#line 12089 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_X32
   && !ix86_indirect_branch_register
   && SIBLING_CALL_P (peep2_next_insn (1))
   && !reg_mentioned_p (operands[0],
			CALL_INSN_FUNCTION_USAGE (peep2_next_insn (1)))) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode)))
                    return NULL;
                  *pmatch_len_ = 1;
                  return gen_peephole2_35 (insn, operands);

                case 2:
                  if (!(
#line 18061 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   && peep2_reg_dead_p (4, operands[3])
   && (rtx_equal_p (operands[0], operands[3])
       || peep2_reg_dead_p (2, operands[0]))
   && !reg_overlap_mentioned_p (operands[0], operands[1])
   && !reg_overlap_mentioned_p (operands[3], operands[1])
   && !reg_overlap_mentioned_p (operands[0], operands[2])
   && (DImode != QImode
       || immediate_operand (operands[2], QImode)
       || any_QIreg_operand (operands[2], QImode))
   && ix86_match_ccmode (peep2_next_insn (3), CCGOCmode)) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                    return NULL;
                  *pmatch_len_ = 3;
                  return gen_peephole2_97 (insn, operands);

                default:
                  return NULL;
                }

            case PARALLEL:
              if (peep2_current_count < 3
                  || peep2_current_count < 4
                  || XVECLEN (x4, 0) != 2)
                return NULL;
              x5 = XVECEXP (x4, 0, 0);
              if (GET_CODE (x5) != SET)
                return NULL;
              x28 = XEXP (x5, 1);
              if (!plusminuslogic_operator (x28, DImode))
                return NULL;
              operands[3] = x28;
              if (pattern748 (x4, DImode) != 0
                  || !(
#line 18027 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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)
       || any_QIreg_operand (operands[2], QImode))
   && ix86_match_ccmode (peep2_next_insn (3),
			 (GET_CODE (operands[3]) == PLUS
			  || GET_CODE (operands[3]) == MINUS)
			 ? CCGOCmode : CCNOmode)) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return NULL;
              *pmatch_len_ = 3;
              return gen_peephole2_93 (insn, operands);

            default:
              return NULL;
            }

        case HImode:
          if (peep2_current_count < 3
              || peep2_current_count < 4
              || !register_operand (operands[0], HImode))
            return NULL;
          x4 = PATTERN (peep2_next_insn (1));
          switch (pattern508 (x4, HImode))
            {
            case 0:
              if (nonmemory_operand (operands[2], HImode))
                {
                  x5 = XVECEXP (x4, 0, 0);
                  if (pattern956 (x5, HImode) == 0
                      && 
#line 18027 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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)
       || any_QIreg_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;
                      res = gen_peephole2_91 (insn, operands);
                      if (res != NULL_RTX)
                        return res;
                    }
                }
              if (!nonmemory_operand (operands[2], SImode))
                return NULL;
              x5 = XVECEXP (x4, 0, 0);
              if (pattern957 (x5) != 0
                  || !
#line 18125 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   && REGNO (operands[0]) == REGNO (operands[4])
   && peep2_reg_dead_p (4, operands[0])
   && (HImode != QImode
       || immediate_operand (operands[2], SImode)
       || any_QIreg_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)))
                return NULL;
              *pmatch_len_ = 3;
              return gen_peephole2_103 (insn, operands);

            case 1:
              if (!
#line 18061 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
   && peep2_reg_dead_p (4, operands[3])
   && (rtx_equal_p (operands[0], operands[3])
       || peep2_reg_dead_p (2, operands[0]))
   && !reg_overlap_mentioned_p (operands[0], operands[1])
   && !reg_overlap_mentioned_p (operands[3], operands[1])
   && !reg_overlap_mentioned_p (operands[0], operands[2])
   && (HImode != QImode
       || immediate_operand (operands[2], QImode)
       || any_QIreg_operand (operands[2], QImode))
   && ix86_match_ccmode (peep2_next_insn (3), CCGOCmode)))
                return NULL;
              *pmatch_len_ = 3;
              return gen_peephole2_95 (insn, operands);

            default:
              return NULL;
            }

        default:
          return NULL;
        }

    case MEM:
      switch (GET_MODE (operands[0]))
        {
        case QImode:
          if (!push_operand (operands[0], QImode)
              || !memory_operand (operands[1], QImode)
              || !
#line 17749 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(TARGET_PUSH_MEMORY || optimize_insn_for_size_p ())
   && !RTX_FRAME_RELATED_P (peep2_next_insn (0))))
            return NULL;
          *pmatch_len_ = 0;
          return gen_peephole2_50 (insn, operands);

        case HImode:
          if (!push_operand (operands[0], HImode)
              || !memory_operand (operands[1], HImode)
              || !
#line 17749 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(TARGET_PUSH_MEMORY || optimize_insn_for_size_p ())
   && !RTX_FRAME_RELATED_P (peep2_next_insn (0))))
            return NULL;
          *pmatch_len_ = 0;
          return gen_peephole2_51 (insn, operands);

        case SImode:
          if (!push_operand (operands[0], SImode)
              || !memory_operand (operands[1], SImode)
              || !
#line 17749 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(TARGET_PUSH_MEMORY || optimize_insn_for_size_p ())
   && !RTX_FRAME_RELATED_P (peep2_next_insn (0))))
            return NULL;
          *pmatch_len_ = 0;
          return gen_peephole2_52 (insn, operands);

        case DImode:
          if (!push_operand (operands[0], DImode)
              || !memory_operand (operands[1], DImode)
              || !(
#line 17749 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(TARGET_PUSH_MEMORY || optimize_insn_for_size_p ())
   && !RTX_FRAME_RELATED_P (peep2_next_insn (0))) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return NULL;
          *pmatch_len_ = 0;
          return gen_peephole2_53 (insn, operands);

        case SFmode:
          if (!push_operand (operands[0], SFmode)
              || !memory_operand (operands[1], SFmode)
              || !
#line 17760 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(TARGET_PUSH_MEMORY || optimize_insn_for_size_p ())
   && !RTX_FRAME_RELATED_P (peep2_next_insn (0))))
            return NULL;
          *pmatch_len_ = 0;
          return gen_peephole2_54 (insn, operands);

        default:
          return NULL;
        }

    default:
      return NULL;
    }
}

static rtx_insn *
peephole2_4 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pmatch_len_ ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = PATTERN (peep2_next_insn (1));
  if (GET_CODE (x2) != SET)
    return NULL;
  x3 = XEXP (x2, 1);
  if (!binary_fp_operator (x3, VOIDmode))
    return NULL;
  operands[2] = x3;
  x4 = XEXP (x2, 0);
  if (!rtx_equal_p (x4, operands[0]))
    return NULL;
  x5 = XEXP (x3, 0);
  switch (GET_CODE (x5))
    {
    case REG:
      if (!rtx_equal_p (x5, operands[0]))
        return NULL;
      x6 = XEXP (x3, 1);
      operands[3] = x6;
      if (!memory_operand (operands[3], VOIDmode)
          || !
#line 17399 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(REGNO (operands[0]) != REGNO (operands[1])))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_48 (insn, operands);

    case SUBREG:
    case MEM:
      operands[3] = x5;
      if (!memory_operand (operands[3], VOIDmode))
        return NULL;
      x6 = XEXP (x3, 1);
      if (!rtx_equal_p (x6, operands[0])
          || !
#line 17421 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(REGNO (operands[0]) != REGNO (operands[1])))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_49 (insn, operands);

    default:
      return NULL;
    }
}

static rtx_insn *
peephole2_5 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pmatch_len_ ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19, x20, x21, x22, x23, x24, x25;
  rtx x26, x27, x28, x29, x30;
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (peep2_current_count < 2)
    return NULL;
  x2 = XEXP (x1, 1);
  operands[1] = x2;
  x3 = XEXP (x1, 0);
  operands[0] = x3;
  switch (GET_CODE (operands[0]))
    {
    case SUBREG:
    case MEM:
      if (peep2_current_count < 3)
        return NULL;
      switch (GET_MODE (operands[0]))
        {
        case SImode:
          if (!memory_operand (operands[0], SImode)
              || !general_reg_operand (operands[1], SImode))
            return NULL;
          x4 = PATTERN (peep2_next_insn (1));
          switch (GET_CODE (x4))
            {
            case SET:
              if (peep2_current_count < 4)
                return NULL;
              x5 = XEXP (x4, 0);
              operands[2] = x5;
              if (!general_reg_operand (operands[2], SImode))
                return NULL;
              x6 = XEXP (x4, 1);
              if (!rtx_equal_p (x6, operands[1]))
                return NULL;
              x7 = PATTERN (peep2_next_insn (2));
              if (GET_CODE (x7) != PARALLEL
                  || pattern723 (x7, ASHIFTRT) != 0)
                return NULL;
              x8 = XVECEXP (x7, 0, 0);
              x9 = XEXP (x8, 1);
              x10 = XEXP (x9, 1);
              if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 31])
                return NULL;
              x11 = XVECEXP (x7, 0, 1);
              if (GET_CODE (x11) != CLOBBER)
                return NULL;
              x12 = XEXP (x11, 0);
              if (GET_CODE (x12) != REG
                  || REGNO (x12) != 17
                  || GET_MODE (x12) != CCmode)
                return NULL;
              x13 = XEXP (x9, 0);
              if (!rtx_equal_p (x13, operands[2]))
                return NULL;
              x14 = XEXP (x8, 0);
              if (!rtx_equal_p (x14, operands[2]))
                return NULL;
              x15 = PATTERN (peep2_next_insn (3));
              if (GET_CODE (x15) != SET)
                return NULL;
              x16 = XEXP (x15, 0);
              operands[3] = x16;
              if (!memory_operand (operands[3], SImode))
                return NULL;
              x17 = XEXP (x15, 1);
              if (!rtx_equal_p (x17, operands[2])
                  || !
#line 4084 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(REGNO (operands[1]) != REGNO (operands[2])
   && peep2_reg_dead_p (2, operands[1])
   && peep2_reg_dead_p (4, operands[2])
   && !reg_mentioned_p (operands[2], operands[3])))
                return NULL;
              *pmatch_len_ = 3;
              return gen_peephole2_5 (insn, operands);

            case PARALLEL:
              if (XVECLEN (x4, 0) != 2)
                return NULL;
              x18 = XVECEXP (x4, 0, 0);
              if (GET_CODE (x18) != SET)
                return NULL;
              x19 = XEXP (x18, 1);
              if (GET_CODE (x19) != ASHIFTRT
                  || GET_MODE (x19) != SImode)
                return NULL;
              x20 = XEXP (x19, 1);
              if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 31])
                return NULL;
              x21 = XVECEXP (x4, 0, 1);
              if (GET_CODE (x21) != CLOBBER)
                return NULL;
              x22 = XEXP (x21, 0);
              if (GET_CODE (x22) != REG
                  || REGNO (x22) != 17
                  || GET_MODE (x22) != CCmode)
                return NULL;
              x23 = XEXP (x18, 0);
              operands[2] = x23;
              if (!general_reg_operand (operands[2], SImode))
                return NULL;
              x24 = XEXP (x19, 0);
              if (!rtx_equal_p (x24, operands[1]))
                return NULL;
              x7 = PATTERN (peep2_next_insn (2));
              if (GET_CODE (x7) != SET)
                return NULL;
              x25 = XEXP (x7, 0);
              operands[3] = x25;
              if (!memory_operand (operands[3], SImode))
                return NULL;
              x26 = XEXP (x7, 1);
              if (!rtx_equal_p (x26, operands[2])
                  || !
#line 4100 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(/* cltd is shorter than sarl $31, %eax */
   !optimize_function_for_size_p (cfun)
   && REGNO (operands[1]) == AX_REG
   && REGNO (operands[2]) == DX_REG
   && peep2_reg_dead_p (2, operands[1])
   && peep2_reg_dead_p (3, operands[2])
   && !reg_mentioned_p (operands[2], operands[3])))
                return NULL;
              *pmatch_len_ = 2;
              return gen_peephole2_6 (insn, operands);

            default:
              return NULL;
            }

        case DFmode:
          if (!memory_operand (operands[0], DFmode)
              || !fp_register_operand (operands[1], DFmode))
            return NULL;
          x4 = PATTERN (peep2_next_insn (1));
          if (GET_CODE (x4) != SET)
            return NULL;
          x6 = XEXP (x4, 1);
          if (GET_CODE (x6) != UNSPEC
              || XVECLEN (x6, 0) != 1)
            return NULL;
          x5 = XEXP (x4, 0);
          operands[2] = x5;
          if (GET_MODE (x6) != DFmode)
            return NULL;
          x27 = XVECEXP (x6, 0, 0);
          operands[3] = x27;
          if (!memory_operand (operands[3], DImode))
            return NULL;
          x7 = PATTERN (peep2_next_insn (2));
          if (GET_CODE (x7) != SET)
            return NULL;
          x26 = XEXP (x7, 1);
          if (GET_CODE (x26) != UNSPEC
              || XVECLEN (x26, 0) != 1
              || GET_MODE (x26) != DImode)
            return NULL;
          x25 = XEXP (x7, 0);
          operands[4] = x25;
          if (!memory_operand (operands[4], DImode))
            return NULL;
          x28 = XVECEXP (x26, 0, 0);
          if (!rtx_equal_p (x28, operands[2]))
            return NULL;
          switch (XINT (x6, 1))
            {
            case 205:
              if (!fp_register_operand (operands[2], DFmode)
                  || XINT (x26, 1) != 206
                  || !
#line 341 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sync.md"
(!TARGET_64BIT
   && peep2_reg_dead_p (3, operands[2])
   && rtx_equal_p (operands[0], adjust_address_nv (operands[3], DFmode, 0))))
                return NULL;
              *pmatch_len_ = 2;
              return gen_peephole2_177 (insn, operands);

            case 207:
              if (!sse_reg_operand (operands[2], DFmode)
                  || XINT (x26, 1) != 208
                  || !
#line 356 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sync.md"
(!TARGET_64BIT
   && peep2_reg_dead_p (3, operands[2])
   && rtx_equal_p (operands[0], adjust_address_nv (operands[3], DFmode, 0))))
                return NULL;
              *pmatch_len_ = 2;
              return gen_peephole2_178 (insn, operands);

            default:
              return NULL;
            }

        default:
          return NULL;
        }

    case REG:
      if (fp_register_operand (operands[0], VOIDmode)
          && fp_register_operand (operands[1], VOIDmode))
        {
          res = peephole2_4 (x1, insn, pmatch_len_);
          if (res != NULL_RTX)
            return res;
        }
      x4 = PATTERN (peep2_next_insn (1));
      if (GET_CODE (x4) == PARALLEL
          && XVECLEN (x4, 0) == 2)
        {
          x18 = XVECEXP (x4, 0, 0);
          if (GET_CODE (x18) == SET)
            {
              x19 = XEXP (x18, 1);
              switch (GET_CODE (x19))
                {
                case PLUS:
                case MULT:
                case AND:
                case IOR:
                case XOR:
                case SMIN:
                case SMAX:
                case UMIN:
                case UMAX:
                  operands[3] = x19;
                  if (commutative_operator (operands[3], QImode)
                      && pattern587 (x4, QImode) == 0
                      && 
#line 17948 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(REGNO (operands[0]) != REGNO (operands[1])
   && (QImode != QImode
       || any_QIreg_operand (operands[1], QImode))))
                    {
                      *pmatch_len_ = 1;
                      res = gen_peephole2_76 (insn, operands);
                      if (res != NULL_RTX)
                        return res;
                    }
                  if (commutative_operator (operands[3], HImode)
                      && pattern587 (x4, HImode) == 0
                      && 
#line 17948 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(REGNO (operands[0]) != REGNO (operands[1])
   && (HImode != QImode
       || any_QIreg_operand (operands[1], QImode))))
                    {
                      *pmatch_len_ = 1;
                      res = gen_peephole2_77 (insn, operands);
                      if (res != NULL_RTX)
                        return res;
                    }
                  if (commutative_operator (operands[3], SImode)
                      && pattern587 (x4, SImode) == 0
                      && 
#line 17948 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(REGNO (operands[0]) != REGNO (operands[1])
   && (SImode != QImode
       || any_QIreg_operand (operands[1], QImode))))
                    {
                      *pmatch_len_ = 1;
                      res = gen_peephole2_78 (insn, operands);
                      if (res != NULL_RTX)
                        return res;
                    }
                  if (commutative_operator (operands[3], DImode)
                      && pattern587 (x4, DImode) == 0
                      && (
#line 17948 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(REGNO (operands[0]) != REGNO (operands[1])
   && (DImode != QImode
       || any_QIreg_operand (operands[1], QImode))) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                    {
                      *pmatch_len_ = 1;
                      res = gen_peephole2_79 (insn, operands);
                      if (res != NULL_RTX)
                        return res;
                    }
                  break;

                default:
                  break;
                }
            }
        }
      if (GET_CODE (x4) != SET)
        return NULL;
      x6 = XEXP (x4, 1);
      if (!commutative_operator (x6, VOIDmode))
        return NULL;
      operands[3] = x6;
      x29 = XEXP (x6, 1);
      operands[2] = x29;
      if (!memory_operand (operands[2], VOIDmode))
        return NULL;
      x30 = XEXP (x6, 0);
      if (!rtx_equal_p (x30, operands[0]))
        return NULL;
      x5 = XEXP (x4, 0);
      if (!rtx_equal_p (x5, operands[0]))
        return NULL;
      if (mmx_reg_operand (operands[0], VOIDmode)
          && mmx_reg_operand (operands[1], VOIDmode)
          && 
#line 17964 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(REGNO (operands[0]) != REGNO (operands[1])))
        {
          *pmatch_len_ = 1;
          res = gen_peephole2_80 (insn, operands);
          if (res != NULL_RTX)
            return res;
        }
      if (!sse_reg_operand (operands[0], VOIDmode)
          || !sse_reg_operand (operands[1], VOIDmode)
          || !
#line 17976 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(REGNO (operands[0]) != REGNO (operands[1])))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_81 (insn, operands);

    default:
      return NULL;
    }
}

static rtx_insn *
peephole2_6 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pmatch_len_ ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  switch (GET_MODE (operands[0]))
    {
    case SImode:
      switch (pattern206 (x3, SImode))
        {
        case 0:
          if (!
#line 4869 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_AVOID_VECTOR_DECODE
   && SSE_FLOAT_MODE_P (SFmode)
   && optimize_insn_for_speed_p ()))
            return NULL;
          *pmatch_len_ = 0;
          return gen_peephole2_9 (insn, operands);

        case 1:
          if (!
#line 4869 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_AVOID_VECTOR_DECODE
   && SSE_FLOAT_MODE_P (DFmode)
   && optimize_insn_for_speed_p ()))
            return NULL;
          *pmatch_len_ = 0;
          return gen_peephole2_11 (insn, operands);

        default:
          return NULL;
        }

    case DImode:
      switch (pattern206 (x3, DImode))
        {
        case 0:
          if (!(
#line 4869 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_AVOID_VECTOR_DECODE
   && SSE_FLOAT_MODE_P (SFmode)
   && optimize_insn_for_speed_p ()) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return NULL;
          *pmatch_len_ = 0;
          return gen_peephole2_10 (insn, operands);

        case 1:
          if (!(
#line 4869 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_AVOID_VECTOR_DECODE
   && SSE_FLOAT_MODE_P (DFmode)
   && optimize_insn_for_speed_p ()) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return NULL;
          *pmatch_len_ = 0;
          return gen_peephole2_12 (insn, operands);

        default:
          return NULL;
        }

    default:
      return NULL;
    }
}

static rtx_insn *
peephole2_7 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pmatch_len_ ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12;
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (peep2_current_count < 2)
    return NULL;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != DFmode)
    return NULL;
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) != PARALLEL
      || XVECLEN (x3, 0) != 1)
    return NULL;
  x4 = XVECEXP (x3, 0, 0);
  if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return NULL;
  x5 = XEXP (x1, 0);
  operands[0] = x5;
  if (!memory_operand (operands[0], DFmode))
    return NULL;
  x6 = XEXP (x2, 0);
  operands[1] = x6;
  if (!sse_reg_operand (operands[1], V2DFmode))
    return NULL;
  x7 = PATTERN (peep2_next_insn (1));
  if (GET_CODE (x7) != SET)
    return NULL;
  x8 = XEXP (x7, 1);
  if (GET_CODE (x8) != VEC_SELECT
      || GET_MODE (x8) != DFmode)
    return NULL;
  x9 = XEXP (x8, 1);
  if (GET_CODE (x9) != PARALLEL
      || XVECLEN (x9, 0) != 1)
    return NULL;
  x10 = XVECEXP (x9, 0, 0);
  if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return NULL;
  x11 = XEXP (x7, 0);
  operands[2] = x11;
  if (!memory_operand (operands[2], DFmode))
    return NULL;
  x12 = XEXP (x8, 0);
  operands[3] = x12;
  if (!sse_reg_operand (operands[3], V2DFmode)
      || !
#line 1214 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && TARGET_SSE_UNALIGNED_STORE_OPTIMAL
   && ix86_operands_ok_for_move_multiple (operands, false, DFmode)))
    return NULL;
  *pmatch_len_ = 1;
  return gen_peephole2_174 (insn, operands);
}

static rtx_insn *
peephole2_8 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pmatch_len_ ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16;
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (peep2_current_count < 3)
    return NULL;
  x2 = XEXP (x1, 0);
  if (REGNO (x2) != 17)
    return NULL;
  x3 = XEXP (x1, 1);
  operands[0] = x3;
  x4 = PATTERN (peep2_next_insn (1));
  if (GET_CODE (x4) != SET)
    return NULL;
  x5 = XEXP (x4, 1);
  if (!ix86_comparison_operator (x5, QImode))
    return NULL;
  operands[2] = x5;
  x6 = XEXP (x5, 0);
  if (GET_CODE (x6) != REG
      || REGNO (x6) != 17)
    return NULL;
  x7 = XEXP (x5, 1);
  if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return NULL;
  x8 = XEXP (x4, 0);
  operands[1] = x8;
  if (!register_operand (operands[1], QImode))
    return NULL;
  x9 = PATTERN (peep2_next_insn (2));
  switch (GET_CODE (x9))
    {
    case SET:
      x10 = XEXP (x9, 1);
      if (GET_CODE (x10) != ZERO_EXTEND)
        return NULL;
      x11 = XEXP (x9, 0);
      operands[3] = x11;
      if (!any_QIreg_operand (operands[3], VOIDmode))
        return NULL;
      x12 = XEXP (x10, 0);
      if (!rtx_equal_p (x12, operands[1])
          || !
#line 11709 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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])
   && peep2_regno_dead_p (0, FLAGS_REG)))
        return NULL;
      *pmatch_len_ = 2;
      return gen_peephole2_22 (insn, operands);

    case PARALLEL:
      if (pattern723 (x9, AND) != 0)
        return NULL;
      x13 = XVECEXP (x9, 0, 0);
      x14 = XEXP (x13, 1);
      x15 = XEXP (x14, 1);
      if (GET_CODE (x15) != CONST_INT
          || XWINT (x15, 0) != 255LL
          || pattern875 (x9, SImode) != 0)
        return NULL;
      x16 = XEXP (x14, 0);
      if (!rtx_equal_p (x16, operands[3])
          || !
#line 11755 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(REGNO (operands[1]) == REGNO (operands[3])
   && ! reg_overlap_mentioned_p (operands[3], operands[0])
   && peep2_regno_dead_p (0, FLAGS_REG)))
        return NULL;
      *pmatch_len_ = 2;
      return gen_peephole2_24 (insn, operands);

    default:
      return NULL;
    }
}

static rtx_insn *
peephole2_9 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pmatch_len_ ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8;
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (peep2_current_count >= 2)
    {
      res = peephole2_8 (x1, insn, pmatch_len_);
      if (res != NULL_RTX)
        return res;
    }
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  operands[1] = x3;
  if (const0_operand (operands[1], VOIDmode)
      && general_reg_operand (operands[0], VOIDmode)
      && 
#line 18155 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(GET_MODE_SIZE (GET_MODE (operands[0])) <= UNITS_PER_WORD
   && (! TARGET_USE_MOV0 || optimize_insn_for_size_p ())
   && peep2_regno_dead_p (0, FLAGS_REG)))
    {
      *pmatch_len_ = 0;
      res = gen_peephole2_104 (insn, operands);
      if (res != NULL_RTX)
        return res;
    }
  if (peep2_current_count < 2
      || !memory_operand (operands[1], DFmode)
      || !sse_reg_operand (operands[0], DFmode))
    return NULL;
  x4 = PATTERN (peep2_next_insn (1));
  if (GET_CODE (x4) != SET)
    return NULL;
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) != VEC_CONCAT
      || GET_MODE (x5) != V2DFmode)
    return NULL;
  x6 = XEXP (x4, 0);
  operands[2] = x6;
  if (!sse_reg_operand (operands[2], V2DFmode))
    return NULL;
  x7 = XEXP (x5, 0);
  operands[4] = x7;
  if (!sse_reg_operand (operands[4], DFmode))
    return NULL;
  x8 = XEXP (x5, 1);
  operands[3] = x8;
  if (!memory_operand (operands[3], DFmode)
      || !
#line 1200 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && TARGET_SSE_UNALIGNED_LOAD_OPTIMAL
   && REGNO (operands[4]) == REGNO (operands[2])
   && ix86_operands_ok_for_move_multiple (operands, true, DFmode)))
    return NULL;
  *pmatch_len_ = 1;
  return gen_peephole2_173 (insn, operands);
}

static rtx_insn *
peephole2_10 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pmatch_len_ ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14;
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (peep2_current_count < 3)
    return NULL;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  if (!register_operand (operands[0], QImode))
    return NULL;
  x3 = XEXP (x1, 1);
  operands[2] = x3;
  if (!const_int_operand (operands[2], QImode))
    return NULL;
  x4 = PATTERN (peep2_next_insn (1));
  if (pattern343 (x4, UNSPEC_VOLATILE, 3) != 0)
    return NULL;
  x5 = XVECEXP (x4, 0, 0);
  x6 = XEXP (x5, 1);
  if (XVECLEN (x6, 0) != 2
      || XINT (x6, 1) != 63
      || GET_MODE (x6) != QImode)
    return NULL;
  x7 = XVECEXP (x4, 0, 1);
  if (GET_CODE (x7) != SET)
    return NULL;
  x8 = XEXP (x7, 1);
  if (GET_CODE (x8) != PLUS
      || GET_MODE (x8) != QImode)
    return NULL;
  x9 = XVECEXP (x4, 0, 2);
  if (GET_CODE (x9) != CLOBBER)
    return NULL;
  x10 = XEXP (x9, 0);
  if (GET_CODE (x10) != REG
      || REGNO (x10) != 17
      || GET_MODE (x10) != CCmode)
    return NULL;
  x11 = XVECEXP (x6, 0, 0);
  operands[1] = x11;
  if (!memory_operand (operands[1], QImode)
      || pattern286 (x4) != 0
      || !const_int_operand (operands[3], QImode))
    return NULL;
  x12 = PATTERN (peep2_next_insn (2));
  x13 = XEXP (x12, 1);
  x14 = XEXP (x13, 0);
  if (!rtx_equal_p (x14, operands[0])
      || !
#line 544 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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])))
    return NULL;
  *pmatch_len_ = 2;
  return gen_peephole2_179 (insn, operands);
}

static rtx_insn *
peephole2_11 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pmatch_len_ ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19, x20, x21, x22, x23, x24, x25;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (GET_CODE (x2))
    {
    case IF_THEN_ELSE:
      x3 = XEXP (x2, 0);
      switch (GET_CODE (x3))
        {
        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:
          operands[1] = x3;
          x4 = XEXP (x3, 0);
          if (GET_CODE (x4) != REG
              || REGNO (x4) != 17)
            return NULL;
          x5 = XEXP (x3, 1);
          if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return NULL;
          x6 = XEXP (x2, 1);
          switch (GET_CODE (x6))
            {
            case REG:
            case SUBREG:
            case MEM:
              operands[2] = x6;
              x7 = XEXP (x2, 2);
              operands[3] = x7;
              switch (GET_MODE (operands[0]))
                {
                case HImode:
                  if (pattern559 (x2, HImode) != 0
                      || !
#line 17148 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_CMOVE && TARGET_AVOID_MEM_OPND_FOR_CMOVE
   && (MEM_P (operands[2]) || MEM_P (operands[3]))
   && optimize_insn_for_speed_p ()))
                    return NULL;
                  *pmatch_len_ = 0;
                  return gen_peephole2_42 (insn, operands);

                case SImode:
                  if (pattern559 (x2, SImode) != 0
                      || !
#line 17148 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_CMOVE && TARGET_AVOID_MEM_OPND_FOR_CMOVE
   && (MEM_P (operands[2]) || MEM_P (operands[3]))
   && optimize_insn_for_speed_p ()))
                    return NULL;
                  *pmatch_len_ = 0;
                  return gen_peephole2_43 (insn, operands);

                case DImode:
                  if (pattern559 (x2, DImode) != 0
                      || !(
#line 17148 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_CMOVE && TARGET_AVOID_MEM_OPND_FOR_CMOVE
   && (MEM_P (operands[2]) || MEM_P (operands[3]))
   && optimize_insn_for_speed_p ()) && 
#line 986 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                    return NULL;
                  *pmatch_len_ = 0;
                  return gen_peephole2_44 (insn, operands);

                case SFmode:
                  if (!general_reg_operand (operands[0], SFmode)
                      || pattern643 (x2, SFmode) != 0
                      || !
#line 17308 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((SFmode != DFmode || TARGET_64BIT)
   && TARGET_80387 && TARGET_CMOVE
   && TARGET_AVOID_MEM_OPND_FOR_CMOVE
   && (MEM_P (operands[2]) || MEM_P (operands[3]))
   && optimize_insn_for_speed_p ()))
                    return NULL;
                  *pmatch_len_ = 0;
                  return gen_peephole2_46 (insn, operands);

                case DFmode:
                  if (!general_reg_operand (operands[0], DFmode)
                      || pattern643 (x2, DFmode) != 0
                      || !
#line 17308 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((DFmode != DFmode || TARGET_64BIT)
   && TARGET_80387 && TARGET_CMOVE
   && TARGET_AVOID_MEM_OPND_FOR_CMOVE
   && (MEM_P (operands[2]) || MEM_P (operands[3]))
   && optimize_insn_for_speed_p ()))
                    return NULL;
                  *pmatch_len_ = 0;
                  return gen_peephole2_47 (insn, operands);

                default:
                  return NULL;
                }

            case ZERO_EXTEND:
              if (GET_MODE (x6) != DImode)
                return NULL;
              x7 = XEXP (x2, 2);
              if (GET_CODE (x7) != ZERO_EXTEND
                  || GET_MODE (x7) != DImode
                  || !register_operand (operands[0], DImode)
                  || GET_MODE (x2) != DImode
                  || !ix86_comparison_operator (operands[1], VOIDmode))
                return NULL;
              x8 = XEXP (x6, 0);
              operands[2] = x8;
              if (!nonimmediate_operand (operands[2], SImode))
                return NULL;
              x9 = XEXP (x7, 0);
              operands[3] = x9;
              if (!nonimmediate_operand (operands[3], SImode)
                  || !
#line 17178 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT
   && TARGET_CMOVE && TARGET_AVOID_MEM_OPND_FOR_CMOVE
   && (MEM_P (operands[2]) || MEM_P (operands[3]))
   && optimize_insn_for_speed_p ()))
                return NULL;
              *pmatch_len_ = 0;
              return gen_peephole2_45 (insn, operands);

            default:
              return NULL;
            }

        default:
          return NULL;
        }

    case COMPARE:
      operands[1] = x2;
      if (!compare_operator (operands[1], VOIDmode))
        return NULL;
      x6 = XEXP (x2, 1);
      if (GET_CODE (x6) != CONST_INT
          || !flags_reg_operand (operands[0], VOIDmode))
        return NULL;
      x3 = XEXP (x2, 0);
      switch (GET_CODE (x3))
        {
        case REG:
        case SUBREG:
        case MEM:
          operands[2] = x3;
          if (memory_operand (operands[2], SImode)
              && XWINT (x6, 0) == 0LL
              && 
#line 17802 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(optimize_insn_for_speed_p () && ix86_match_ccmode (insn, CCNOmode)))
            {
              *pmatch_len_ = 0;
              res = gen_peephole2_61 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          if (!register_operand (operands[2], VOIDmode))
            return NULL;
          operands[3] = x6;
          if (!const_int_operand (operands[3], VOIDmode)
              || !
#line 18412 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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])))
            return NULL;
          *pmatch_len_ = 0;
          return gen_peephole2_159 (insn, operands);

        case AND:
          if (XWINT (x6, 0) != 0LL)
            return NULL;
          x4 = XEXP (x3, 0);
          operands[2] = x4;
          x5 = XEXP (x3, 1);
          operands[3] = x5;
          switch (GET_MODE (x3))
            {
            case SImode:
              if (register_operand (operands[2], SImode)
                  && immediate_operand (operands[3], SImode)
                  && 
#line 17844 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(ix86_match_ccmode (insn, CCNOmode)
   && (REGNO (operands[2]) != AX_REG
       || satisfies_constraint_K (operands[3]))
   && peep2_reg_dead_p (1, operands[2])))
                {
                  *pmatch_len_ = 0;
                  res = gen_peephole2_65 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            case QImode:
              if (register_operand (operands[2], QImode)
                  && immediate_operand (operands[3], QImode)
                  && 
#line 17864 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(! TARGET_PARTIAL_REG_STALL
   && ix86_match_ccmode (insn, CCNOmode)
   && REGNO (operands[2]) != AX_REG
   && peep2_reg_dead_p (1, operands[2])))
                {
                  *pmatch_len_ = 0;
                  res = gen_peephole2_66 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            default:
              break;
            }
          if (GET_CODE (x4) != SUBREG
              || pattern356 (x3) != 0)
            return NULL;
          x10 = XEXP (x4, 0);
          x11 = XEXP (x10, 0);
          operands[2] = x11;
          if (!QIreg_operand (operands[2], VOIDmode))
            return NULL;
          operands[3] = x5;
          if (!const_int_operand (operands[3], VOIDmode)
              || !
#line 17885 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(! TARGET_PARTIAL_REG_STALL
   && ix86_match_ccmode (insn, CCNOmode)
   && REGNO (operands[2]) != AX_REG
   && peep2_reg_dead_p (1, operands[2])))
            return NULL;
          *pmatch_len_ = 0;
          return gen_peephole2_67 (insn, operands);

        default:
          return NULL;
        }

    case NOT:
      x3 = XEXP (x2, 0);
      operands[1] = x3;
      switch (GET_MODE (operands[0]))
        {
        case QImode:
          if (!nonimmediate_gr_operand (operands[0], QImode)
              || GET_MODE (x2) != QImode
              || !nonimmediate_gr_operand (operands[1], QImode)
              || !
#line 17820 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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)))
            return NULL;
          *pmatch_len_ = 0;
          return gen_peephole2_62 (insn, operands);

        case HImode:
          if (!nonimmediate_gr_operand (operands[0], HImode)
              || GET_MODE (x2) != HImode
              || !nonimmediate_gr_operand (operands[1], HImode)
              || !
#line 17820 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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)))
            return NULL;
          *pmatch_len_ = 0;
          return gen_peephole2_63 (insn, operands);

        case SImode:
          if (!nonimmediate_gr_operand (operands[0], SImode)
              || GET_MODE (x2) != SImode
              || !nonimmediate_gr_operand (operands[1], SImode)
              || !
#line 17820 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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)))
            return NULL;
          *pmatch_len_ = 0;
          return gen_peephole2_64 (insn, operands);

        default:
          return NULL;
        }

    case CONST_INT:
      if (XWINT (x2, 0) == -1LL)
        {
          switch (GET_MODE (operands[0]))
            {
            case HImode:
              if (general_reg_operand (operands[0], HImode)
                  && 
#line 18174 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((TARGET_MOVE_M1_VIA_OR || optimize_insn_for_size_p ())
   && peep2_regno_dead_p (0, FLAGS_REG)))
                {
                  *pmatch_len_ = 0;
                  res = gen_peephole2_107 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            case SImode:
              if (general_reg_operand (operands[0], SImode)
                  && 
#line 18174 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((TARGET_MOVE_M1_VIA_OR || optimize_insn_for_size_p ())
   && peep2_regno_dead_p (0, FLAGS_REG)))
                {
                  *pmatch_len_ = 0;
                  res = gen_peephole2_108 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            case DImode:
              if (general_reg_operand (operands[0], DImode)
                  && (
#line 18174 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((TARGET_MOVE_M1_VIA_OR || optimize_insn_for_size_p ())
   && peep2_regno_dead_p (0, FLAGS_REG)) && 
#line 986 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                {
                  *pmatch_len_ = 0;
                  res = gen_peephole2_109 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            default:
              break;
            }
        }
      if (peep2_current_count < 2
          || peep2_current_count < 3)
        return NULL;
      operands[2] = x2;
      x12 = PATTERN (peep2_next_insn (1));
      if (pattern287 (x12) != 0)
        return NULL;
      x13 = PATTERN (peep2_next_insn (2));
      x14 = XEXP (x13, 1);
      x15 = XEXP (x14, 0);
      if (!rtx_equal_p (x15, operands[0]))
        return NULL;
      switch (GET_MODE (operands[0]))
        {
        case HImode:
          if (pattern973 (x12, HImode) != 0
              || !
#line 544 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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])))
            return NULL;
          *pmatch_len_ = 2;
          return gen_peephole2_180 (insn, operands);

        case SImode:
          if (pattern973 (x12, SImode) != 0
              || !
#line 544 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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])))
            return NULL;
          *pmatch_len_ = 2;
          return gen_peephole2_181 (insn, operands);

        case DImode:
          if (pattern973 (x12, DImode) != 0
              || !(
#line 544 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return NULL;
          *pmatch_len_ = 2;
          return gen_peephole2_182 (insn, operands);

        default:
          return NULL;
        }

    case PLUS:
      switch (pattern39 (x2))
        {
        case 0:
          x6 = XEXP (x2, 1);
          operands[1] = x6;
          if (x86_64_nonmemory_operand (operands[1], SImode))
            {
              x3 = XEXP (x2, 0);
              if (rtx_equal_p (x3, operands[0])
                  && 
#line 18192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_OPT_AGU
   && peep2_regno_dead_p (0, FLAGS_REG)))
                {
                  *pmatch_len_ = 0;
                  res = gen_peephole2_110 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
            }
          x3 = XEXP (x2, 0);
          operands[1] = x3;
          if (!x86_64_nonmemory_operand (operands[1], SImode)
              || !rtx_equal_p (x6, operands[0])
              || !
#line 18201 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_OPT_AGU
   && peep2_regno_dead_p (0, FLAGS_REG)))
            return NULL;
          *pmatch_len_ = 0;
          return gen_peephole2_112 (insn, operands);

        case 1:
          x6 = XEXP (x2, 1);
          operands[1] = x6;
          if (x86_64_nonmemory_operand (operands[1], DImode))
            {
              x3 = XEXP (x2, 0);
              if (rtx_equal_p (x3, operands[0])
                  && (
#line 18192 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_OPT_AGU
   && peep2_regno_dead_p (0, FLAGS_REG)) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                {
                  *pmatch_len_ = 0;
                  res = gen_peephole2_111 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
            }
          x3 = XEXP (x2, 0);
          operands[1] = x3;
          if (!x86_64_nonmemory_operand (operands[1], DImode)
              || !rtx_equal_p (x6, operands[0])
              || !(
#line 18201 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_OPT_AGU
   && peep2_regno_dead_p (0, FLAGS_REG)) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return NULL;
          *pmatch_len_ = 0;
          return gen_peephole2_113 (insn, operands);

        default:
          return NULL;
        }

    case ZERO_EXTEND:
      if (GET_MODE (x2) != DImode
          || !register_operand (operands[0], DImode))
        return NULL;
      x3 = XEXP (x2, 0);
      if (GET_MODE (x3) != SImode)
        return NULL;
      switch (GET_CODE (x3))
        {
        case PLUS:
          x4 = XEXP (x3, 0);
          operands[1] = x4;
          x5 = XEXP (x3, 1);
          operands[2] = x5;
          if (nonmemory_operand (operands[2], SImode)
              && register_operand (operands[1], SImode)
              && 
#line 18211 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && !TARGET_OPT_AGU
   && REGNO (operands[0]) == REGNO (operands[1])
   && peep2_regno_dead_p (0, FLAGS_REG)))
            {
              *pmatch_len_ = 0;
              res = gen_peephole2_114 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          if (!register_operand (operands[2], SImode)
              || !nonmemory_operand (operands[1], SImode)
              || !
#line 18223 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && !TARGET_OPT_AGU
   && REGNO (operands[0]) == REGNO (operands[2])
   && peep2_regno_dead_p (0, FLAGS_REG)))
            return NULL;
          *pmatch_len_ = 0;
          return gen_peephole2_115 (insn, operands);

        case MULT:
          x4 = XEXP (x3, 0);
          operands[1] = x4;
          if (!register_operand (operands[1], SImode))
            return NULL;
          x5 = XEXP (x3, 1);
          operands[2] = x5;
          if (!const_int_operand (operands[2], SImode)
              || !
#line 18245 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT
   && pow2p_hwi (INTVAL (operands[2]))
   && REGNO (operands[0]) == REGNO (operands[1])
   && peep2_regno_dead_p (0, FLAGS_REG)))
            return NULL;
          *pmatch_len_ = 0;
          return gen_peephole2_118 (insn, operands);

        default:
          return NULL;
        }

    case MULT:
      x6 = XEXP (x2, 1);
      operands[1] = x6;
      x3 = XEXP (x2, 0);
      if (!rtx_equal_p (x3, operands[0]))
        return NULL;
      switch (GET_MODE (operands[0]))
        {
        case SImode:
          if (!register_operand (operands[0], SImode)
              || GET_MODE (x2) != SImode
              || !const_int_operand (operands[1], SImode)
              || !
#line 18234 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(pow2p_hwi (INTVAL (operands[1]))
   && peep2_regno_dead_p (0, FLAGS_REG)))
            return NULL;
          *pmatch_len_ = 0;
          return gen_peephole2_116 (insn, operands);

        case DImode:
          if (!register_operand (operands[0], DImode)
              || GET_MODE (x2) != DImode
              || !const_int_operand (operands[1], DImode)
              || !(
#line 18234 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(pow2p_hwi (INTVAL (operands[1]))
   && peep2_regno_dead_p (0, FLAGS_REG)) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return NULL;
          *pmatch_len_ = 0;
          return gen_peephole2_117 (insn, operands);

        default:
          return NULL;
        }

    case VEC_CONCAT:
      if (peep2_current_count < 2
          || GET_MODE (x2) != V2DFmode
          || !sse_reg_operand (operands[0], V2DFmode))
        return NULL;
      x3 = XEXP (x2, 0);
      operands[1] = x3;
      if (!memory_operand (operands[1], DFmode))
        return NULL;
      x6 = XEXP (x2, 1);
      operands[4] = x6;
      if (!const0_operand (operands[4], DFmode))
        return NULL;
      x12 = PATTERN (peep2_next_insn (1));
      if (GET_CODE (x12) != SET)
        return NULL;
      x16 = XEXP (x12, 1);
      if (GET_CODE (x16) != VEC_CONCAT
          || GET_MODE (x16) != V2DFmode)
        return NULL;
      x17 = XEXP (x16, 0);
      if (GET_CODE (x17) != VEC_SELECT
          || GET_MODE (x17) != DFmode)
        return NULL;
      x18 = XEXP (x17, 1);
      if (GET_CODE (x18) != PARALLEL
          || XVECLEN (x18, 0) != 1)
        return NULL;
      x19 = XVECEXP (x18, 0, 0);
      if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
        return NULL;
      x20 = XEXP (x12, 0);
      operands[2] = x20;
      if (!sse_reg_operand (operands[2], V2DFmode))
        return NULL;
      x21 = XEXP (x16, 1);
      operands[3] = x21;
      if (!memory_operand (operands[3], DFmode))
        return NULL;
      x22 = XEXP (x17, 0);
      if (!rtx_equal_p (x22, operands[2])
          || !
#line 1189 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sse.md"
(TARGET_SSE2 && TARGET_SSE_UNALIGNED_LOAD_OPTIMAL
   && ix86_operands_ok_for_move_multiple (operands, true, DFmode)))
        return NULL;
      *pmatch_len_ = 1;
      return gen_peephole2_172 (insn, operands);

    case UNSPEC:
      if (peep2_current_count < 2
          || peep2_current_count < 3
          || XVECLEN (x2, 0) != 1
          || GET_MODE (x2) != DFmode)
        return NULL;
      x23 = XVECEXP (x2, 0, 0);
      operands[1] = x23;
      if (!memory_operand (operands[1], DImode))
        return NULL;
      x12 = PATTERN (peep2_next_insn (1));
      if (GET_CODE (x12) != SET)
        return NULL;
      x16 = XEXP (x12, 1);
      if (GET_CODE (x16) != UNSPEC
          || XVECLEN (x16, 0) != 1
          || GET_MODE (x16) != DImode)
        return NULL;
      x20 = XEXP (x12, 0);
      operands[2] = x20;
      if (!memory_operand (operands[2], DImode))
        return NULL;
      x24 = XVECEXP (x16, 0, 0);
      if (!rtx_equal_p (x24, operands[0]))
        return NULL;
      x13 = PATTERN (peep2_next_insn (2));
      if (GET_CODE (x13) != SET)
        return NULL;
      x25 = XEXP (x13, 0);
      operands[3] = x25;
      if (!fp_register_operand (operands[3], DFmode))
        return NULL;
      x14 = XEXP (x13, 1);
      operands[4] = x14;
      if (!memory_operand (operands[4], DFmode))
        return NULL;
      switch (XINT (x2, 1))
        {
        case 205:
          if (!fp_register_operand (operands[0], DFmode)
              || XINT (x16, 1) != 206
              || !
#line 224 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sync.md"
(!TARGET_64BIT
   && peep2_reg_dead_p (2, operands[0])
   && rtx_equal_p (operands[4], adjust_address_nv (operands[2], DFmode, 0))))
            return NULL;
          *pmatch_len_ = 2;
          return gen_peephole2_175 (insn, operands);

        case 207:
          if (!sse_reg_operand (operands[0], DFmode)
              || XINT (x16, 1) != 208
              || !
#line 239 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/sync.md"
(!TARGET_64BIT
   && peep2_reg_dead_p (2, operands[0])
   && rtx_equal_p (operands[4], adjust_address_nv (operands[2], DFmode, 0))))
            return NULL;
          *pmatch_len_ = 2;
          return gen_peephole2_176 (insn, operands);

        default:
          return NULL;
        }

    default:
      return NULL;
    }
}

static rtx_insn *
peephole2_12 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pmatch_len_ ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 1);
  if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
    return NULL;
  x5 = XEXP (x3, 0);
  operands[0] = x5;
  if (!register_operand (operands[0], DImode))
    return NULL;
  x6 = XEXP (x3, 2);
  operands[1] = x6;
  if (!const_0_to_63_operand (operands[1], VOIDmode))
    return NULL;
  x7 = XEXP (x2, 1);
  switch (XWINT (x7, 0))
    {
    case 1LL:
      if (!
#line 10943 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && !TARGET_USE_BT))
        return NULL;
      *pmatch_len_ = 0;
      return gen_peephole2_19 (insn, operands);

    case 0LL:
      if (!
#line 10967 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && !TARGET_USE_BT))
        return NULL;
      *pmatch_len_ = 0;
      return gen_peephole2_20 (insn, operands);

    default:
      return NULL;
    }
}

static rtx_insn *
peephole2_13 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pmatch_len_ ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 1);
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != REG
      || REGNO (x3) != 17
      || GET_MODE (x3) != CCmode)
    return NULL;
  x4 = XVECEXP (x1, 0, 0);
  x5 = XEXP (x4, 1);
  switch (GET_CODE (x5))
    {
    case ASHIFT:
      x6 = XEXP (x4, 0);
      operands[0] = x6;
      x7 = XEXP (x5, 0);
      operands[1] = x7;
      x8 = XEXP (x5, 1);
      operands[2] = x8;
      if (!nonmemory_operand (operands[2], QImode))
        return NULL;
      switch (GET_MODE (operands[0]))
        {
        case DImode:
          if (!register_operand (operands[0], DImode)
              || GET_MODE (x5) != DImode
              || !nonmemory_operand (operands[1], DImode)
              || !(
#line 9555 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_CMOVE) && 
#line 1041 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT)))
            return NULL;
          *pmatch_len_ = 0;
          return gen_peephole2_13 (insn, operands);

        case TImode:
          if (!register_operand (operands[0], TImode)
              || GET_MODE (x5) != TImode
              || !nonmemory_operand (operands[1], TImode)
              || !(
#line 9555 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_CMOVE) && 
#line 1042 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return NULL;
          *pmatch_len_ = 0;
          return gen_peephole2_14 (insn, operands);

        default:
          return NULL;
        }

    case LSHIFTRT:
      switch (pattern397 (x4))
        {
        case 0:
          if (!(
#line 10186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_CMOVE) && 
#line 1041 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT)))
            return NULL;
          *pmatch_len_ = 0;
          return gen_peephole2_15 (insn, operands);

        case 1:
          if (!(
#line 10186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_CMOVE) && 
#line 1042 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return NULL;
          *pmatch_len_ = 0;
          return gen_peephole2_17 (insn, operands);

        default:
          return NULL;
        }

    case ASHIFTRT:
      switch (pattern397 (x4))
        {
        case 0:
          if (!(
#line 10186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_CMOVE) && 
#line 1041 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_64BIT)))
            return NULL;
          *pmatch_len_ = 0;
          return gen_peephole2_16 (insn, operands);

        case 1:
          if (!(
#line 10186 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_CMOVE) && 
#line 1042 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return NULL;
          *pmatch_len_ = 0;
          return gen_peephole2_18 (insn, operands);

        default:
          return NULL;
        }

    case CONST_INT:
      x6 = XEXP (x4, 0);
      if (GET_CODE (x6) == ZERO_EXTRACT
          && GET_MODE (x6) == DImode)
        {
          res = peephole2_12 (x1, insn, pmatch_len_);
          if (res != NULL_RTX)
            return res;
        }
      if (peep2_current_count < 2
          || peep2_current_count < 3)
        return NULL;
      operands[2] = x5;
      operands[0] = x6;
      x9 = PATTERN (peep2_next_insn (1));
      if (pattern287 (x9) != 0)
        return NULL;
      x10 = PATTERN (peep2_next_insn (2));
      x11 = XEXP (x10, 1);
      x12 = XEXP (x11, 0);
      if (!rtx_equal_p (x12, operands[0]))
        return NULL;
      switch (GET_MODE (operands[0]))
        {
        case QImode:
          if (pattern977 (x9, QImode) != 0
              || !
#line 574 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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])))
            return NULL;
          *pmatch_len_ = 2;
          return gen_peephole2_183 (insn, operands);

        case HImode:
          if (pattern977 (x9, HImode) != 0
              || !
#line 574 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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])))
            return NULL;
          *pmatch_len_ = 2;
          return gen_peephole2_184 (insn, operands);

        case SImode:
          if (pattern977 (x9, SImode) != 0
              || !
#line 574 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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])))
            return NULL;
          *pmatch_len_ = 2;
          return gen_peephole2_185 (insn, operands);

        case DImode:
          if (pattern977 (x9, DImode) != 0
              || !(
#line 574 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            return NULL;
          *pmatch_len_ = 2;
          return gen_peephole2_186 (insn, operands);

        default:
          return NULL;
        }

    case NOT:
      if (GET_MODE (x5) != DImode)
        return NULL;
      x7 = XEXP (x5, 0);
      if (GET_CODE (x7) != ZERO_EXTRACT
          || GET_MODE (x7) != DImode)
        return NULL;
      x13 = XEXP (x7, 1);
      if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
        return NULL;
      x6 = XEXP (x4, 0);
      if (GET_CODE (x6) != ZERO_EXTRACT
          || GET_MODE (x6) != DImode)
        return NULL;
      x14 = XEXP (x6, 1);
      if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
        return NULL;
      x15 = XEXP (x6, 0);
      operands[0] = x15;
      if (!register_operand (operands[0], DImode))
        return NULL;
      x16 = XEXP (x6, 2);
      operands[1] = x16;
      if (!const_0_to_63_operand (operands[1], VOIDmode))
        return NULL;
      x17 = XEXP (x7, 0);
      if (!rtx_equal_p (x17, operands[0]))
        return NULL;
      x18 = XEXP (x7, 2);
      if (!rtx_equal_p (x18, operands[1])
          || !
#line 10992 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && !TARGET_USE_BT))
        return NULL;
      *pmatch_len_ = 0;
      return gen_peephole2_21 (insn, operands);

    default:
      return NULL;
    }
}

static rtx_insn *
peephole2_14 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pmatch_len_ ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (peep2_current_count < 3)
    return NULL;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != REG
      || REGNO (x3) != 17)
    return NULL;
  x4 = XEXP (x2, 1);
  operands[0] = x4;
  x5 = XVECEXP (x1, 0, 1);
  operands[4] = x5;
  x6 = PATTERN (peep2_next_insn (1));
  if (GET_CODE (x6) != SET)
    return NULL;
  x7 = XEXP (x6, 1);
  if (!ix86_comparison_operator (x7, QImode))
    return NULL;
  operands[2] = x7;
  x8 = XEXP (x7, 0);
  if (GET_CODE (x8) != REG
      || REGNO (x8) != 17)
    return NULL;
  x9 = XEXP (x7, 1);
  if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return NULL;
  x10 = XEXP (x6, 0);
  operands[1] = x10;
  if (!register_operand (operands[1], QImode))
    return NULL;
  x11 = PATTERN (peep2_next_insn (2));
  switch (GET_CODE (x11))
    {
    case SET:
      x12 = XEXP (x11, 1);
      if (GET_CODE (x12) != ZERO_EXTEND)
        return NULL;
      x13 = XEXP (x11, 0);
      operands[3] = x13;
      if (!any_QIreg_operand (operands[3], VOIDmode))
        return NULL;
      x14 = XEXP (x12, 0);
      if (!rtx_equal_p (x14, operands[1])
          || !
#line 11730 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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])
   && ! reg_set_p (operands[3], operands[4])
   && peep2_regno_dead_p (0, FLAGS_REG)))
        return NULL;
      *pmatch_len_ = 2;
      return gen_peephole2_23 (insn, operands);

    case PARALLEL:
      if (XVECLEN (x11, 0) != 2)
        return NULL;
      x15 = XVECEXP (x11, 0, 0);
      if (GET_CODE (x15) != SET)
        return NULL;
      x16 = XEXP (x15, 1);
      if (GET_CODE (x16) != ZERO_EXTEND
          || pattern875 (x11, VOIDmode) != 0)
        return NULL;
      x17 = XEXP (x16, 0);
      if (!rtx_equal_p (x17, operands[1])
          || !
#line 11776 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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])
   && ! reg_set_p (operands[3], operands[4])
   && peep2_regno_dead_p (0, FLAGS_REG)))
        return NULL;
      *pmatch_len_ = 2;
      return gen_peephole2_25 (insn, operands);

    default:
      return NULL;
    }
}

static rtx_insn *
peephole2_15 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pmatch_len_ ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  operands[0] = x3;
  switch (GET_MODE (operands[0]))
    {
    case QImode:
      if (!arith_or_logical_operator (operands[3], QImode))
        return NULL;
      if (register_operand (operands[0], QImode))
        {
          x4 = XEXP (x2, 1);
          x5 = XEXP (x4, 1);
          operands[1] = x5;
          if (memory_operand (operands[1], QImode))
            {
              x6 = XEXP (x4, 0);
              if (rtx_equal_p (x6, operands[0])
                  && 
#line 17918 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(TARGET_READ_MODIFY || optimize_insn_for_size_p ())))
                {
                  *pmatch_len_ = 0;
                  res = gen_peephole2_68 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
            }
          x6 = XEXP (x4, 0);
          operands[1] = x6;
          if (memory_operand (operands[1], QImode)
              && rtx_equal_p (x5, operands[0])
              && 
#line 17931 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(TARGET_READ_MODIFY || optimize_insn_for_size_p ())))
            {
              *pmatch_len_ = 0;
              res = gen_peephole2_72 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
        }
      if (!memory_operand (operands[0], QImode))
        return NULL;
      x4 = XEXP (x2, 1);
      x5 = XEXP (x4, 1);
      operands[1] = x5;
      if (nonmemory_operand (operands[1], QImode))
        {
          x6 = XEXP (x4, 0);
          if (rtx_equal_p (x6, operands[0])
              && 
#line 17994 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())))
            {
              *pmatch_len_ = 0;
              res = gen_peephole2_82 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
        }
      x6 = XEXP (x4, 0);
      operands[1] = x6;
      if (!nonmemory_operand (operands[1], QImode)
          || !rtx_equal_p (x5, operands[0])
          || !
#line 18008 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())))
        return NULL;
      *pmatch_len_ = 0;
      return gen_peephole2_86 (insn, operands);

    case HImode:
      if (!arith_or_logical_operator (operands[3], HImode))
        return NULL;
      if (register_operand (operands[0], HImode))
        {
          x4 = XEXP (x2, 1);
          x5 = XEXP (x4, 1);
          operands[1] = x5;
          if (memory_operand (operands[1], HImode))
            {
              x6 = XEXP (x4, 0);
              if (rtx_equal_p (x6, operands[0])
                  && 
#line 17918 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(TARGET_READ_MODIFY || optimize_insn_for_size_p ())))
                {
                  *pmatch_len_ = 0;
                  res = gen_peephole2_69 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
            }
          x6 = XEXP (x4, 0);
          operands[1] = x6;
          if (memory_operand (operands[1], HImode)
              && rtx_equal_p (x5, operands[0])
              && 
#line 17931 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(TARGET_READ_MODIFY || optimize_insn_for_size_p ())))
            {
              *pmatch_len_ = 0;
              res = gen_peephole2_73 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
        }
      if (!memory_operand (operands[0], HImode))
        return NULL;
      x4 = XEXP (x2, 1);
      x5 = XEXP (x4, 1);
      operands[1] = x5;
      if (nonmemory_operand (operands[1], HImode))
        {
          x6 = XEXP (x4, 0);
          if (rtx_equal_p (x6, operands[0])
              && 
#line 17994 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())))
            {
              *pmatch_len_ = 0;
              res = gen_peephole2_83 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
        }
      x6 = XEXP (x4, 0);
      operands[1] = x6;
      if (!nonmemory_operand (operands[1], HImode)
          || !rtx_equal_p (x5, operands[0])
          || !
#line 18008 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())))
        return NULL;
      *pmatch_len_ = 0;
      return gen_peephole2_87 (insn, operands);

    case SImode:
      if (!arith_or_logical_operator (operands[3], SImode))
        return NULL;
      if (register_operand (operands[0], SImode))
        {
          x4 = XEXP (x2, 1);
          x5 = XEXP (x4, 1);
          operands[1] = x5;
          if (memory_operand (operands[1], SImode))
            {
              x6 = XEXP (x4, 0);
              if (rtx_equal_p (x6, operands[0])
                  && 
#line 17918 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(TARGET_READ_MODIFY || optimize_insn_for_size_p ())))
                {
                  *pmatch_len_ = 0;
                  res = gen_peephole2_70 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
            }
          x6 = XEXP (x4, 0);
          operands[1] = x6;
          if (memory_operand (operands[1], SImode)
              && rtx_equal_p (x5, operands[0])
              && 
#line 17931 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(TARGET_READ_MODIFY || optimize_insn_for_size_p ())))
            {
              *pmatch_len_ = 0;
              res = gen_peephole2_74 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
        }
      if (!memory_operand (operands[0], SImode))
        return NULL;
      x4 = XEXP (x2, 1);
      x5 = XEXP (x4, 1);
      operands[1] = x5;
      if (x86_64_nonmemory_operand (operands[1], SImode))
        {
          x6 = XEXP (x4, 0);
          if (rtx_equal_p (x6, operands[0])
              && 
#line 17994 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())))
            {
              *pmatch_len_ = 0;
              res = gen_peephole2_84 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
        }
      x6 = XEXP (x4, 0);
      operands[1] = x6;
      if (!x86_64_nonmemory_operand (operands[1], SImode)
          || !rtx_equal_p (x5, operands[0])
          || !
#line 18008 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())))
        return NULL;
      *pmatch_len_ = 0;
      return gen_peephole2_88 (insn, operands);

    case DImode:
      if (!arith_or_logical_operator (operands[3], DImode))
        return NULL;
      if (register_operand (operands[0], DImode))
        {
          x4 = XEXP (x2, 1);
          x5 = XEXP (x4, 1);
          operands[1] = x5;
          if (memory_operand (operands[1], DImode))
            {
              x6 = XEXP (x4, 0);
              if (rtx_equal_p (x6, operands[0])
                  && (
#line 17918 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(TARGET_READ_MODIFY || optimize_insn_for_size_p ())) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                {
                  *pmatch_len_ = 0;
                  res = gen_peephole2_71 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
            }
          x6 = XEXP (x4, 0);
          operands[1] = x6;
          if (memory_operand (operands[1], DImode)
              && rtx_equal_p (x5, operands[0])
              && (
#line 17931 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(TARGET_READ_MODIFY || optimize_insn_for_size_p ())) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            {
              *pmatch_len_ = 0;
              res = gen_peephole2_75 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
        }
      if (!memory_operand (operands[0], DImode))
        return NULL;
      x4 = XEXP (x2, 1);
      x5 = XEXP (x4, 1);
      operands[1] = x5;
      if (x86_64_nonmemory_operand (operands[1], DImode))
        {
          x6 = XEXP (x4, 0);
          if (rtx_equal_p (x6, operands[0])
              && (
#line 17994 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
            {
              *pmatch_len_ = 0;
              res = gen_peephole2_85 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
        }
      x6 = XEXP (x4, 0);
      operands[1] = x6;
      if (!x86_64_nonmemory_operand (operands[1], DImode)
          || !rtx_equal_p (x5, operands[0])
          || !(
#line 18008 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!(TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())) && 
#line 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
        return NULL;
      *pmatch_len_ = 0;
      return gen_peephole2_89 (insn, operands);

    default:
      return NULL;
    }
}

static rtx_insn *
peephole2_16 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pmatch_len_ ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14;
  rtx_insn *res ATTRIBUTE_UNUSED;
  if (peep2_current_count < 3)
    return NULL;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  operands[2] = x3;
  x4 = XEXP (x2, 0);
  operands[0] = x4;
  x5 = XEXP (x3, 1);
  operands[1] = x5;
  x6 = XEXP (x3, 0);
  if (!rtx_equal_p (x6, operands[0]))
    return NULL;
  x7 = PATTERN (peep2_next_insn (1));
  if (GET_CODE (x7) != SET)
    return NULL;
  x8 = XEXP (x7, 1);
  if (!rtx_equal_p (x8, operands[0]))
    return NULL;
  x9 = XEXP (x7, 0);
  if (!rtx_equal_p (x9, operands[1]))
    return NULL;
  x10 = PATTERN (peep2_next_insn (2));
  if (GET_CODE (x10) != SET)
    return NULL;
  x11 = XEXP (x10, 1);
  if (GET_CODE (x11) != COMPARE)
    return NULL;
  x12 = XEXP (x11, 1);
  if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return NULL;
  x13 = XEXP (x10, 0);
  if (GET_CODE (x13) != REG
      || REGNO (x13) != 17)
    return NULL;
  x14 = XEXP (x11, 0);
  if (!rtx_equal_p (x14, operands[0]))
    return NULL;
  switch (GET_MODE (operands[0]))
    {
    case QImode:
      if (!register_operand (operands[0], QImode)
          || !plusminuslogic_operator (operands[2], QImode)
          || !memory_operand (operands[1], QImode)
          || !
#line 18094 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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)))
        return NULL;
      *pmatch_len_ = 2;
      return gen_peephole2_98 (insn, operands);

    case HImode:
      if (!register_operand (operands[0], HImode)
          || !plusminuslogic_operator (operands[2], HImode)
          || !memory_operand (operands[1], HImode)
          || !
#line 18094 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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)))
        return NULL;
      *pmatch_len_ = 2;
      return gen_peephole2_99 (insn, operands);

    case SImode:
      if (!register_operand (operands[0], SImode)
          || !plusminuslogic_operator (operands[2], SImode)
          || !memory_operand (operands[1], SImode)
          || !
#line 18094 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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)))
        return NULL;
      *pmatch_len_ = 2;
      return gen_peephole2_100 (insn, operands);

    case DImode:
      if (!register_operand (operands[0], DImode)
          || !plusminuslogic_operator (operands[2], DImode)
          || !memory_operand (operands[1], DImode)
          || !(
#line 18094 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 983 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
        return NULL;
      *pmatch_len_ = 2;
      return gen_peephole2_101 (insn, operands);

    default:
      return NULL;
    }
}

static rtx_insn *
peephole2_17 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pmatch_len_ ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  if (GET_CODE (x2) != SET)
    return NULL;
  x3 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x3) == CLOBBER)
    {
      res = peephole2_13 (x1, insn, pmatch_len_);
      if (res != NULL_RTX)
        return res;
    }
  if (peep2_current_count >= 2)
    {
      res = peephole2_14 (x1, insn, pmatch_len_);
      if (res != NULL_RTX)
        return res;
    }
  if (GET_CODE (x3) != CLOBBER)
    return NULL;
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != REG
      || REGNO (x4) != 17
      || GET_MODE (x4) != CCmode)
    return NULL;
  x5 = XEXP (x2, 1);
  switch (GET_CODE (x5))
    {
    case COMPARE:
    case PLUS:
    case MINUS:
    case MULT:
    case DIV:
    case MOD:
    case UDIV:
    case UMOD:
    case AND:
    case IOR:
    case XOR:
    case ASHIFT:
    case ROTATE:
    case ASHIFTRT:
    case LSHIFTRT:
    case ROTATERT:
    case SMIN:
    case SMAX:
    case UMIN:
    case UMAX:
      operands[3] = x5;
      res = peephole2_15 (x1, insn, pmatch_len_);
      if (res != NULL_RTX)
        return res;
      switch (GET_CODE (x5))
        {
        case PLUS:
        case MINUS:
        case AND:
        case IOR:
        case XOR:
          if (peep2_current_count >= 2)
            {
              res = peephole2_16 (x1, insn, pmatch_len_);
              if (res != NULL_RTX)
                return res;
            }
          if (GET_CODE (x5) != PLUS
              || pattern147 (x2) != 0)
            return NULL;
          switch (pattern694 (x2))
            {
            case 0:
              if ((
#line 18310 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((TARGET_SINGLE_PUSH || optimize_insn_for_size_p ())
   && INTVAL (operands[0]) == -GET_MODE_SIZE (word_mode)
   && !ix86_using_red_zone ()) && (((((((
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                {
                  *pmatch_len_ = 0;
                  res = gen_peephole2_127 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              if ((
#line 18310 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((TARGET_SINGLE_PUSH || optimize_insn_for_size_p ())
   && INTVAL (operands[0]) == -GET_MODE_SIZE (word_mode)
   && !ix86_using_red_zone ()) && (((((((
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                {
                  *pmatch_len_ = 0;
                  res = gen_peephole2_129 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              if ((
#line 18322 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((TARGET_DOUBLE_PUSH || optimize_insn_for_size_p ())
   && INTVAL (operands[0]) == -2*GET_MODE_SIZE (word_mode)
   && !ix86_using_red_zone ()) && ((((((((((
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                {
                  *pmatch_len_ = 0;
                  res = gen_peephole2_131 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              if ((
#line 18322 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((TARGET_DOUBLE_PUSH || optimize_insn_for_size_p ())
   && INTVAL (operands[0]) == -2*GET_MODE_SIZE (word_mode)
   && !ix86_using_red_zone ()) && ((((((((((
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                {
                  *pmatch_len_ = 0;
                  res = gen_peephole2_133 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              if ((
#line 18378 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(INTVAL (operands[0]) == GET_MODE_SIZE (word_mode)) && (((((((
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                {
                  *pmatch_len_ = 0;
                  res = gen_peephole2_147 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              if ((
#line 18378 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(INTVAL (operands[0]) == GET_MODE_SIZE (word_mode)) && (((((((
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                {
                  *pmatch_len_ = 0;
                  res = gen_peephole2_149 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              if ((
#line 18390 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(INTVAL (operands[0]) == 2*GET_MODE_SIZE (word_mode)) && ((((((((((
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                {
                  *pmatch_len_ = 0;
                  res = gen_peephole2_151 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              if ((
#line 18390 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(INTVAL (operands[0]) == 2*GET_MODE_SIZE (word_mode)) && ((((((((((
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                {
                  *pmatch_len_ = 0;
                  res = gen_peephole2_153 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              if ((
#line 18400 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(optimize_insn_for_size_p ()
   && INTVAL (operands[0]) == 2*GET_MODE_SIZE (word_mode)) && ((((((((((
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                {
                  *pmatch_len_ = 0;
                  res = gen_peephole2_155 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              if (!(
#line 18400 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(optimize_insn_for_size_p ()
   && INTVAL (operands[0]) == 2*GET_MODE_SIZE (word_mode)) && ((((((((((
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return NULL;
              *pmatch_len_ = 0;
              return gen_peephole2_157 (insn, operands);

            case 1:
              if ((
#line 18310 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((TARGET_SINGLE_PUSH || optimize_insn_for_size_p ())
   && INTVAL (operands[0]) == -GET_MODE_SIZE (word_mode)
   && !ix86_using_red_zone ()) && (((((((
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                {
                  *pmatch_len_ = 0;
                  res = gen_peephole2_128 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              if ((
#line 18310 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((TARGET_SINGLE_PUSH || optimize_insn_for_size_p ())
   && INTVAL (operands[0]) == -GET_MODE_SIZE (word_mode)
   && !ix86_using_red_zone ()) && (((((((
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                {
                  *pmatch_len_ = 0;
                  res = gen_peephole2_130 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              if ((
#line 18322 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((TARGET_DOUBLE_PUSH || optimize_insn_for_size_p ())
   && INTVAL (operands[0]) == -2*GET_MODE_SIZE (word_mode)
   && !ix86_using_red_zone ()) && ((((((((((
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                {
                  *pmatch_len_ = 0;
                  res = gen_peephole2_132 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              if ((
#line 18322 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((TARGET_DOUBLE_PUSH || optimize_insn_for_size_p ())
   && INTVAL (operands[0]) == -2*GET_MODE_SIZE (word_mode)
   && !ix86_using_red_zone ()) && ((((((((((
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                {
                  *pmatch_len_ = 0;
                  res = gen_peephole2_134 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              if ((
#line 18378 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(INTVAL (operands[0]) == GET_MODE_SIZE (word_mode)) && (((((((
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                {
                  *pmatch_len_ = 0;
                  res = gen_peephole2_148 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              if ((
#line 18378 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(INTVAL (operands[0]) == GET_MODE_SIZE (word_mode)) && (((((((
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                {
                  *pmatch_len_ = 0;
                  res = gen_peephole2_150 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              if ((
#line 18390 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(INTVAL (operands[0]) == 2*GET_MODE_SIZE (word_mode)) && ((((((((((
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                {
                  *pmatch_len_ = 0;
                  res = gen_peephole2_152 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              if ((
#line 18390 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(INTVAL (operands[0]) == 2*GET_MODE_SIZE (word_mode)) && ((((((((((
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                {
                  *pmatch_len_ = 0;
                  res = gen_peephole2_154 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              if ((
#line 18400 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(optimize_insn_for_size_p ()
   && INTVAL (operands[0]) == 2*GET_MODE_SIZE (word_mode)) && ((((((((((
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                {
                  *pmatch_len_ = 0;
                  res = gen_peephole2_156 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              if (!(
#line 18400 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(optimize_insn_for_size_p ()
   && INTVAL (operands[0]) == 2*GET_MODE_SIZE (word_mode)) && ((((((((((
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return NULL;
              *pmatch_len_ = 0;
              return gen_peephole2_158 (insn, operands);

            default:
              return NULL;
            }

        case MULT:
          x6 = XEXP (x2, 0);
          operands[0] = x6;
          x7 = XEXP (x5, 0);
          operands[1] = x7;
          x8 = XEXP (x5, 1);
          operands[2] = x8;
          switch (GET_MODE (operands[0]))
            {
            case SImode:
              if (!register_operand (operands[0], SImode)
                  || GET_MODE (x5) != SImode)
                return NULL;
              if (const359_operand (operands[2], SImode))
                {
                  if (register_operand (operands[1], SImode))
                    {
                      *pmatch_len_ = 0;
                      res = gen_peephole2_160 (insn, operands);
                      if (res != NULL_RTX)
                        return res;
                    }
                  if (nonimmediate_operand (operands[1], SImode)
                      && 
#line 18443 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(optimize_insn_for_speed_p ()
   && (!TARGET_PARTIAL_REG_STALL || SImode == SImode)))
                    {
                      *pmatch_len_ = 0;
                      res = gen_peephole2_162 (insn, operands);
                      if (res != NULL_RTX)
                        return res;
                    }
                }
              if (memory_operand (operands[1], SImode)
                  && immediate_operand (operands[2], SImode)
                  && 
#line 18459 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_SLOW_IMUL_IMM32_MEM && optimize_insn_for_speed_p ()
   && !satisfies_constraint_K (operands[2])))
                {
                  *pmatch_len_ = 0;
                  res = gen_peephole2_164 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              if (!nonimmediate_operand (operands[1], SImode)
                  || !const_int_operand (operands[2], SImode)
                  || !
#line 18491 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_SLOW_IMUL_IMM8 && optimize_insn_for_speed_p ()
   && satisfies_constraint_K (operands[2])))
                return NULL;
              *pmatch_len_ = 0;
              return gen_peephole2_168 (insn, operands);

            case DImode:
              if (!register_operand (operands[0], DImode)
                  || GET_MODE (x5) != DImode)
                return NULL;
              if (const359_operand (operands[2], DImode))
                {
                  if (register_operand (operands[1], DImode)
                      && (
#line 18429 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(!TARGET_PARTIAL_REG_STALL
   || DImode == SImode
   || optimize_function_for_size_p (cfun)) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                    {
                      *pmatch_len_ = 0;
                      res = gen_peephole2_161 (insn, operands);
                      if (res != NULL_RTX)
                        return res;
                    }
                  if (nonimmediate_operand (operands[1], DImode)
                      && (
#line 18443 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(optimize_insn_for_speed_p ()
   && (!TARGET_PARTIAL_REG_STALL || DImode == SImode)) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                    {
                      *pmatch_len_ = 0;
                      res = gen_peephole2_163 (insn, operands);
                      if (res != NULL_RTX)
                        return res;
                    }
                }
              if (memory_operand (operands[1], DImode)
                  && immediate_operand (operands[2], DImode)
                  && (
#line 18459 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_SLOW_IMUL_IMM32_MEM && optimize_insn_for_speed_p ()
   && !satisfies_constraint_K (operands[2])) && 
#line 989 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                {
                  *pmatch_len_ = 0;
                  res = gen_peephole2_165 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              if (!nonimmediate_operand (operands[1], DImode)
                  || !const_int_operand (operands[2], DImode)
                  || !(
#line 18491 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_SLOW_IMUL_IMM8 && optimize_insn_for_speed_p ()
   && satisfies_constraint_K (operands[2])) && 
#line 986 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT)))
                return NULL;
              *pmatch_len_ = 0;
              return gen_peephole2_169 (insn, operands);

            case HImode:
              if (pattern644 (x5, HImode) != 0
                  || !
#line 18491 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_SLOW_IMUL_IMM8 && optimize_insn_for_speed_p ()
   && satisfies_constraint_K (operands[2])))
                return NULL;
              *pmatch_len_ = 0;
              return gen_peephole2_167 (insn, operands);

            default:
              return NULL;
            }

        case ASHIFT:
          if (peep2_current_count < 2)
            return NULL;
          x6 = XEXP (x2, 0);
          operands[0] = x6;
          if (!register_operand (operands[0], VOIDmode))
            return NULL;
          x7 = XEXP (x5, 0);
          operands[1] = x7;
          if (!register_operand (operands[1], VOIDmode))
            return NULL;
          x8 = XEXP (x5, 1);
          operands[2] = x8;
          if (!const_int_operand (operands[2], VOIDmode))
            return NULL;
          x9 = PATTERN (peep2_next_insn (1));
          if (pattern343 (x9, PLUS, 2) != 0)
            return NULL;
          x10 = XVECEXP (x9, 0, 1);
          if (GET_CODE (x10) != CLOBBER)
            return NULL;
          x11 = XEXP (x10, 0);
          if (GET_CODE (x11) != REG
              || REGNO (x11) != 17
              || GET_MODE (x11) != CCmode)
            return NULL;
          x12 = XVECEXP (x9, 0, 0);
          x13 = XEXP (x12, 0);
          operands[3] = x13;
          if (!register_operand (operands[3], VOIDmode))
            return NULL;
          x14 = XEXP (x12, 1);
          x15 = XEXP (x14, 1);
          operands[4] = x15;
          if (!x86_64_general_operand (operands[4], VOIDmode))
            return NULL;
          x16 = XEXP (x14, 0);
          if (!rtx_equal_p (x16, operands[0]))
            return NULL;
          if ((
#line 18523 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode)))
            {
              *pmatch_len_ = 1;
              res = gen_peephole2_170 (insn, operands);
              if (res != NULL_RTX)
                return res;
            }
          if (!(
#line 18523 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/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 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode)))
            return NULL;
          *pmatch_len_ = 1;
          return gen_peephole2_171 (insn, operands);

        default:
          return NULL;
        }

    case ZERO_EXTEND:
      if (GET_MODE (x5) != DImode)
        return NULL;
      x7 = XEXP (x5, 0);
      if (GET_CODE (x7) != MULT
          || GET_MODE (x7) != SImode)
        return NULL;
      x6 = XEXP (x2, 0);
      operands[0] = x6;
      if (!register_operand (operands[0], DImode))
        return NULL;
      x17 = XEXP (x7, 0);
      operands[1] = x17;
      if (!memory_operand (operands[1], SImode))
        return NULL;
      x18 = XEXP (x7, 1);
      operands[2] = x18;
      if (!immediate_operand (operands[2], SImode)
          || !
#line 18472 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT
   && TARGET_SLOW_IMUL_IMM32_MEM && optimize_insn_for_speed_p ()
   && !satisfies_constraint_K (operands[2])))
        return NULL;
      *pmatch_len_ = 0;
      return gen_peephole2_166 (insn, operands);

    default:
      return NULL;
    }
}

rtx_insn *
peephole2_insns (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pmatch_len_ ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19, x20, x21, x22, x23, x24, x25;
  rtx x26, x27, x28, x29, x30, x31, x32, x33;
  rtx x34, x35;
  rtx_insn *res ATTRIBUTE_UNUSED;
  recog_data.insn = NULL;
  switch (GET_CODE (x1))
    {
    case SET:
      x2 = XEXP (x1, 1);
      switch (GET_CODE (x2))
        {
        case CONST_INT:
        case CONST_WIDE_INT:
        case CONST_FIXED:
        case CONST_DOUBLE:
        case CONST_VECTOR:
        case CONST:
        case LABEL_REF:
        case SYMBOL_REF:
        case HIGH:
          operands[1] = x2;
          if (immediate_operand (operands[1], DImode))
            {
              x3 = XEXP (x1, 0);
              operands[0] = x3;
              if (push_operand (operands[0], DImode))
                {
                  if (
#line 1779 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && !symbolic_operand (operands[1], DImode)
   && !x86_64_immediate_operand (operands[1], DImode)))
                    {
                      *pmatch_len_ = 0;
                      res = gen_peephole2_1 (insn, operands);
                      if (res != NULL_RTX)
                        return res;
                    }
                  if (
#line 1790 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_64BIT && !symbolic_operand (operands[1], DImode)
   && !x86_64_immediate_operand (operands[1], DImode) && 1))
                    {
                      *pmatch_len_ = 0;
                      res = gen_peephole2_2 (insn, operands);
                      if (res != NULL_RTX)
                        return res;
                    }
                }
            }
          if (x2 == const_int_rtx[MAX_SAVED_CONST_INT + 0])
            {
              x3 = XEXP (x1, 0);
              switch (GET_CODE (x3))
                {
                case SUBREG:
                case MEM:
                  operands[0] = x3;
                  switch (GET_MODE (operands[0]))
                    {
                    case QImode:
                      if (memory_operand (operands[0], QImode)
                          && 
#line 17771 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(optimize_insn_for_speed_p ()
   && ((QImode == HImode
       && TARGET_LCP_STALL)
       || (!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;
                          res = gen_peephole2_55 (insn, operands);
                          if (res != NULL_RTX)
                            return res;
                        }
                      break;

                    case HImode:
                      if (memory_operand (operands[0], HImode)
                          && 
#line 17771 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(optimize_insn_for_speed_p ()
   && ((HImode == HImode
       && TARGET_LCP_STALL)
       || (!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;
                          res = gen_peephole2_56 (insn, operands);
                          if (res != NULL_RTX)
                            return res;
                        }
                      break;

                    case SImode:
                      if (memory_operand (operands[0], SImode)
                          && 
#line 17771 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(optimize_insn_for_speed_p ()
   && ((SImode == HImode
       && TARGET_LCP_STALL)
       || (!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;
                          res = gen_peephole2_57 (insn, operands);
                          if (res != NULL_RTX)
                            return res;
                        }
                      break;

                    default:
                      break;
                    }
                  break;

                case STRICT_LOW_PART:
                  x4 = XEXP (x3, 0);
                  operands[0] = x4;
                  switch (GET_MODE (operands[0]))
                    {
                    case QImode:
                      if (general_reg_operand (operands[0], QImode)
                          && 
#line 18165 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((! TARGET_USE_MOV0 || optimize_insn_for_size_p ())
   && peep2_regno_dead_p (0, FLAGS_REG)))
                        {
                          *pmatch_len_ = 0;
                          res = gen_peephole2_105 (insn, operands);
                          if (res != NULL_RTX)
                            return res;
                        }
                      break;

                    case HImode:
                      if (general_reg_operand (operands[0], HImode)
                          && 
#line 18165 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((! TARGET_USE_MOV0 || optimize_insn_for_size_p ())
   && peep2_regno_dead_p (0, FLAGS_REG)))
                        {
                          *pmatch_len_ = 0;
                          res = gen_peephole2_106 (insn, operands);
                          if (res != NULL_RTX)
                            return res;
                        }
                      break;

                    default:
                      break;
                    }
                  break;

                default:
                  break;
                }
            }
          operands[1] = x2;
          x3 = XEXP (x1, 0);
          operands[0] = x3;
          switch (GET_MODE (operands[0]))
            {
            case QImode:
              if (memory_operand (operands[0], QImode)
                  && immediate_operand (operands[1], QImode)
                  && 
#line 17787 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(optimize_insn_for_speed_p ()
   && ((QImode == HImode
       && TARGET_LCP_STALL)
       || (TARGET_SPLIT_LONG_MOVES
          && get_attr_length (insn) >= ix86_cur_cost ()->large_insn))))
                {
                  *pmatch_len_ = 0;
                  res = gen_peephole2_58 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            case HImode:
              if (memory_operand (operands[0], HImode)
                  && immediate_operand (operands[1], HImode)
                  && 
#line 17787 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(optimize_insn_for_speed_p ()
   && ((HImode == HImode
       && TARGET_LCP_STALL)
       || (TARGET_SPLIT_LONG_MOVES
          && get_attr_length (insn) >= ix86_cur_cost ()->large_insn))))
                {
                  *pmatch_len_ = 0;
                  res = gen_peephole2_59 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            case SImode:
              if (memory_operand (operands[0], SImode)
                  && immediate_operand (operands[1], SImode)
                  && 
#line 17787 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(optimize_insn_for_speed_p ()
   && ((SImode == HImode
       && TARGET_LCP_STALL)
       || (TARGET_SPLIT_LONG_MOVES
          && get_attr_length (insn) >= ix86_cur_cost ()->large_insn))))
                {
                  *pmatch_len_ = 0;
                  res = gen_peephole2_60 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              break;

            default:
              break;
            }
          break;

        case SUBREG:
        case MEM:
          res = peephole2_3 (x1, insn, pmatch_len_);
          if (res != NULL_RTX)
            return res;
          break;

        case REG:
          res = peephole2_5 (x1, insn, pmatch_len_);
          if (res != NULL_RTX)
            return res;
          break;

        case FLOAT_EXTEND:
          if (GET_MODE (x2) == DFmode)
            {
              x3 = XEXP (x1, 0);
              operands[0] = x3;
              if (sse_reg_operand (operands[0], DFmode))
                {
                  x5 = XEXP (x2, 0);
                  operands[1] = x5;
                  if (memory_operand (operands[1], SFmode)
                      && 
#line 4356 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_SPLIT_MEM_OPND_FOR_FP_CONVERTS
   && optimize_insn_for_speed_p ()))
                    {
                      *pmatch_len_ = 0;
                      res = gen_peephole2_7 (insn, operands);
                      if (res != NULL_RTX)
                        return res;
                    }
                }
            }
          break;

        case FLOAT_TRUNCATE:
          if (GET_MODE (x2) == SFmode)
            {
              x3 = XEXP (x1, 0);
              operands[0] = x3;
              if (sse_reg_operand (operands[0], SFmode))
                {
                  x5 = XEXP (x2, 0);
                  operands[1] = x5;
                  if (memory_operand (operands[1], DFmode)
                      && 
#line 4502 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(TARGET_SPLIT_MEM_OPND_FOR_FP_CONVERTS
   && optimize_insn_for_speed_p ()))
                    {
                      *pmatch_len_ = 0;
                      res = gen_peephole2_8 (insn, operands);
                      if (res != NULL_RTX)
                        return res;
                    }
                }
            }
          break;

        case FIX:
          res = peephole2_6 (x1, insn, pmatch_len_);
          if (res != NULL_RTX)
            return res;
          break;

        case VEC_SELECT:
          res = peephole2_7 (x1, insn, pmatch_len_);
          if (res != NULL_RTX)
            return res;
          break;

        default:
          break;
        }
      x3 = XEXP (x1, 0);
      if (GET_CODE (x3) == REG)
        {
          res = peephole2_9 (x1, insn, pmatch_len_);
          if (res != NULL_RTX)
            return res;
        }
      if (peep2_current_count >= 2)
        {
          res = peephole2_10 (x1, insn, pmatch_len_);
          if (res != NULL_RTX)
            return res;
        }
      operands[0] = x3;
      return peephole2_11 (x1, insn, pmatch_len_);

    case PARALLEL:
      switch (XVECLEN (x1, 0))
        {
        case 2:
          return peephole2_17 (x1, insn, pmatch_len_);

        case 6:
          if (peep2_current_count < 2
              || peep2_current_count < 3
              || peep2_current_count < 4
              || pattern27 (x1) != 0
              || !register_operand (operands[0], VOIDmode))
            return NULL;
          x6 = XVECEXP (x1, 0, 4);
          x7 = XEXP (x6, 0);
          operands[1] = x7;
          if (!register_operand (operands[1], VOIDmode))
            return NULL;
          x8 = XVECEXP (x1, 0, 5);
          x9 = XEXP (x8, 0);
          operands[2] = x9;
          if (!register_operand (operands[2], VOIDmode))
            return NULL;
          x10 = PATTERN (peep2_next_insn (1));
          if (GET_CODE (x10) != SET)
            return NULL;
          x11 = XEXP (x10, 1);
          if (GET_CODE (x11) != GTU
              || GET_MODE (x11) != QImode)
            return NULL;
          x12 = XEXP (x11, 0);
          if (GET_CODE (x12) != REG
              || REGNO (x12) != 17
              || GET_MODE (x12) != CCmode)
            return NULL;
          x13 = XEXP (x11, 1);
          if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return NULL;
          x14 = XEXP (x10, 0);
          operands[7] = x14;
          if (!register_operand (operands[7], QImode))
            return NULL;
          x15 = PATTERN (peep2_next_insn (2));
          if (GET_CODE (x15) != SET)
            return NULL;
          x16 = XEXP (x15, 1);
          if (GET_CODE (x16) != LTU
              || GET_MODE (x16) != QImode)
            return NULL;
          x17 = XEXP (x16, 0);
          if (GET_CODE (x17) != REG
              || REGNO (x17) != 17
              || GET_MODE (x17) != CCmode)
            return NULL;
          x18 = XEXP (x16, 1);
          if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
            return NULL;
          x19 = XEXP (x15, 0);
          operands[8] = x19;
          if (!register_operand (operands[8], QImode))
            return NULL;
          x20 = PATTERN (peep2_next_insn (3));
          if (GET_CODE (x20) != SET)
            return NULL;
          x21 = XEXP (x20, 1);
          if (GET_CODE (x21) != COMPARE)
            return NULL;
          x22 = XEXP (x20, 0);
          if (GET_CODE (x22) != REG
              || REGNO (x22) != 17)
            return NULL;
          x23 = XEXP (x21, 0);
          if (!rtx_equal_p (x23, operands[7]))
            return NULL;
          x24 = XEXP (x21, 1);
          if (!rtx_equal_p (x24, operands[8]))
            return NULL;
          switch (pattern715 (x1))
            {
            case 0:
              if (!register_operand (operands[4], VOIDmode))
                return NULL;
              x25 = XVECEXP (x1, 0, 0);
              x26 = XEXP (x25, 1);
              x27 = XEXP (x26, 1);
              x28 = XEXP (x27, 0);
              operands[5] = x28;
              if (!register_operand (operands[5], VOIDmode))
                return NULL;
              x29 = XVECEXP (x1, 0, 1);
              x30 = XEXP (x29, 0);
              operands[6] = x30;
              if (!register_operand (operands[6], VOIDmode))
                return NULL;
              x31 = XVECEXP (x1, 0, 2);
              x32 = XEXP (x31, 0);
              operands[3] = x32;
              if (!immediate_operand (operands[3], SImode)
                  || !
#line 16937 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(peep2_reg_dead_p (4, operands[7]) && peep2_reg_dead_p (4, operands[8])))
                return NULL;
              *pmatch_len_ = 3;
              return gen_peephole2_40 (insn, operands);

            case 1:
              if (!register_operand (operands[6], VOIDmode))
                return NULL;
              x25 = XVECEXP (x1, 0, 0);
              x26 = XEXP (x25, 1);
              x27 = XEXP (x26, 1);
              x28 = XEXP (x27, 0);
              x33 = XEXP (x28, 0);
              operands[4] = x33;
              if (!register_operand (operands[4], VOIDmode))
                return NULL;
              x34 = XEXP (x27, 1);
              x35 = XEXP (x34, 0);
              operands[5] = x35;
              if (!register_operand (operands[5], VOIDmode))
                return NULL;
              x29 = XVECEXP (x1, 0, 1);
              x30 = XEXP (x29, 0);
              operands[3] = x30;
              if (!immediate_operand (operands[3], SImode)
                  || !
#line 16969 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(peep2_reg_dead_p (4, operands[7]) && peep2_reg_dead_p (4, operands[8])))
                return NULL;
              *pmatch_len_ = 3;
              return gen_peephole2_41 (insn, operands);

            default:
              return NULL;
            }

        case 3:
          x25 = XVECEXP (x1, 0, 0);
          if (GET_CODE (x25) != SET)
            return NULL;
          x26 = XEXP (x25, 1);
          if (GET_CODE (x26) != PLUS
              || pattern147 (x25) != 0
              || pattern134 (x1) != 0)
            return NULL;
          switch (pattern694 (x25))
            {
            case 0:
              if ((
#line 18281 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((TARGET_SINGLE_PUSH || optimize_insn_for_size_p ())
   && INTVAL (operands[0]) == -GET_MODE_SIZE (word_mode)
   && !ix86_using_red_zone ()) && (((((((
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                {
                  *pmatch_len_ = 0;
                  res = gen_peephole2_119 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              if ((
#line 18281 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((TARGET_SINGLE_PUSH || optimize_insn_for_size_p ())
   && INTVAL (operands[0]) == -GET_MODE_SIZE (word_mode)
   && !ix86_using_red_zone ()) && (((((((
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                {
                  *pmatch_len_ = 0;
                  res = gen_peephole2_121 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              if ((
#line 18295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((TARGET_DOUBLE_PUSH || optimize_insn_for_size_p ())
   && INTVAL (operands[0]) == -2*GET_MODE_SIZE (word_mode)
   && !ix86_using_red_zone ()) && ((((((((((
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                {
                  *pmatch_len_ = 0;
                  res = gen_peephole2_123 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              if ((
#line 18295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((TARGET_DOUBLE_PUSH || optimize_insn_for_size_p ())
   && INTVAL (operands[0]) == -2*GET_MODE_SIZE (word_mode)
   && !ix86_using_red_zone ()) && ((((((((((
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                {
                  *pmatch_len_ = 0;
                  res = gen_peephole2_125 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              if ((
#line 18337 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((TARGET_SINGLE_POP || optimize_insn_for_size_p ())
   && INTVAL (operands[0]) == GET_MODE_SIZE (word_mode)) && (((((((
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                {
                  *pmatch_len_ = 0;
                  res = gen_peephole2_135 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              if ((
#line 18337 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((TARGET_SINGLE_POP || optimize_insn_for_size_p ())
   && INTVAL (operands[0]) == GET_MODE_SIZE (word_mode)) && (((((((
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                {
                  *pmatch_len_ = 0;
                  res = gen_peephole2_137 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              if ((
#line 18352 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((TARGET_DOUBLE_POP || optimize_insn_for_size_p ())
   && INTVAL (operands[0]) == 2*GET_MODE_SIZE (word_mode)) && ((((((((((
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                {
                  *pmatch_len_ = 0;
                  res = gen_peephole2_139 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              if ((
#line 18352 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((TARGET_DOUBLE_POP || optimize_insn_for_size_p ())
   && INTVAL (operands[0]) == 2*GET_MODE_SIZE (word_mode)) && ((((((((((
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                {
                  *pmatch_len_ = 0;
                  res = gen_peephole2_141 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              if ((
#line 18365 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(optimize_insn_for_size_p ()
   && INTVAL (operands[0]) == 2*GET_MODE_SIZE (word_mode)) && ((((((((((
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                {
                  *pmatch_len_ = 0;
                  res = gen_peephole2_143 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              if (!(
#line 18365 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(optimize_insn_for_size_p ()
   && INTVAL (operands[0]) == 2*GET_MODE_SIZE (word_mode)) && ((((((((((
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == SImode))))
                return NULL;
              *pmatch_len_ = 0;
              return gen_peephole2_145 (insn, operands);

            case 1:
              if ((
#line 18281 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((TARGET_SINGLE_PUSH || optimize_insn_for_size_p ())
   && INTVAL (operands[0]) == -GET_MODE_SIZE (word_mode)
   && !ix86_using_red_zone ()) && (((((((
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                {
                  *pmatch_len_ = 0;
                  res = gen_peephole2_120 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              if ((
#line 18281 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((TARGET_SINGLE_PUSH || optimize_insn_for_size_p ())
   && INTVAL (operands[0]) == -GET_MODE_SIZE (word_mode)
   && !ix86_using_red_zone ()) && (((((((
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                {
                  *pmatch_len_ = 0;
                  res = gen_peephole2_122 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              if ((
#line 18295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((TARGET_DOUBLE_PUSH || optimize_insn_for_size_p ())
   && INTVAL (operands[0]) == -2*GET_MODE_SIZE (word_mode)
   && !ix86_using_red_zone ()) && ((((((((((
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                {
                  *pmatch_len_ = 0;
                  res = gen_peephole2_124 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              if ((
#line 18295 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((TARGET_DOUBLE_PUSH || optimize_insn_for_size_p ())
   && INTVAL (operands[0]) == -2*GET_MODE_SIZE (word_mode)
   && !ix86_using_red_zone ()) && ((((((((((
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                {
                  *pmatch_len_ = 0;
                  res = gen_peephole2_126 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              if ((
#line 18337 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((TARGET_SINGLE_POP || optimize_insn_for_size_p ())
   && INTVAL (operands[0]) == GET_MODE_SIZE (word_mode)) && (((((((
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                {
                  *pmatch_len_ = 0;
                  res = gen_peephole2_136 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              if ((
#line 18337 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((TARGET_SINGLE_POP || optimize_insn_for_size_p ())
   && INTVAL (operands[0]) == GET_MODE_SIZE (word_mode)) && (((((((
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                {
                  *pmatch_len_ = 0;
                  res = gen_peephole2_138 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              if ((
#line 18352 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((TARGET_DOUBLE_POP || optimize_insn_for_size_p ())
   && INTVAL (operands[0]) == 2*GET_MODE_SIZE (word_mode)) && ((((((((((
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                {
                  *pmatch_len_ = 0;
                  res = gen_peephole2_140 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              if ((
#line 18352 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
((TARGET_DOUBLE_POP || optimize_insn_for_size_p ())
   && INTVAL (operands[0]) == 2*GET_MODE_SIZE (word_mode)) && ((((((((((
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                {
                  *pmatch_len_ = 0;
                  res = gen_peephole2_142 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              if ((
#line 18365 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(optimize_insn_for_size_p ()
   && INTVAL (operands[0]) == 2*GET_MODE_SIZE (word_mode)) && ((((((((((
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == SImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                {
                  *pmatch_len_ = 0;
                  res = gen_peephole2_144 (insn, operands);
                  if (res != NULL_RTX)
                    return res;
                }
              if (!(
#line 18365 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(optimize_insn_for_size_p ()
   && INTVAL (operands[0]) == 2*GET_MODE_SIZE (word_mode)) && ((((((((((
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1195 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(word_mode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode)) && 
#line 1190 "/usr/src/ports/cygwin64-gcc/cygwin64-gcc-7.3.0-1.i686/src/gcc-7.3.0/gcc/config/i386/i386.md"
(Pmode == DImode))))
                return NULL;
              *pmatch_len_ = 0;
              return gen_peephole2_146 (insn, operands);

            default:
              return NULL;
            }

        default:
          return NULL;
        }

    default:
      return NULL;
    }
}
